Home User profile
tagDiv Member
This user did not write anything. So we are just showing here some random text to make the profile page look nice :)
gregy1403
tagDiv Member

Here is my speed booster file

<?php
/*
Plugin Name: tagDiv Speed Booster
Plugin URI: http://tagdiv.com
Description: Speed booster for Newspaper 6 and Newsmag 1.x themes - It moves the styles and all the scripts of the theme to the bottom when needed. It activates internal theme optimizations for better speed and it adds async js .
Author: tagDiv
Version: 4.1
Author URI: http://tagdiv.com
*/

define('TD_SPEED_BOOSTER' , 'v4.1');

class td_speed_booster {

private $style_footer_queue = array(); // here we keep all the stylesheets IDs that we want to move to the footer

private $is_ie = false; // if the browser is detected as IE, treat it differently

// here we keep the theme information
private $td_theme_name = '';
private $td_theme_version = '';
private $td_deploy_mode = '';

private $allowed_plugins = array(
'bbpress/bbpress.php',
'contact-form-7/wp-contact-form-7.php',
'jetpack/jetpack.php',
'js_composer/js_composer.php',
'td-speed-booster/td-speed-booster.php',
'font-awesome-4-menus/n9m-font-awesome-4.php',
'wordpress-seo/wp-seo.php',
'wp-user-avatar/wp-user-avatar.php',
'td-social-counter/td-social-counter.php',
'wp-super-cache/wp-cache.php'
);

// this class is instantiated at the bottom of this page
function __construct() {

add_action('td_wp_booster_loaded', array($this, 'start_booster'));
}

/**
* everything starts from here
*/
function start_booster() {
// read the theme version and name if defined
if (defined('TD_THEME_VERSION') and defined('TD_THEME_NAME') and defined('TD_DEPLOY_MODE')) {
$this->td_theme_version = TD_THEME_VERSION;
$this->td_theme_name = TD_THEME_NAME;
$this->td_deploy_mode = TD_DEPLOY_MODE;
} else {
return;
}

// detect IE 8 9 10 11
if (
!empty($_SERVER['HTTP_USER_AGENT'])
and (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) or (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false))
) {
$this->is_ie = true;
}

// add hooks
add_action('wp_enqueue_scripts', array($this, 'css_mover'), 1002); // 1002 priority - because visual composer has 1000 and we use 1001 in the wp010 theme
add_action('wp_enqueue_scripts', array($this, 'js_mover'), 1002); // 1002 priority - because visual composer has 1000 and we use 1001 in the wp010 theme
add_action('wp_footer', array($this, 'render_footer_styles'), 15);

// hide the body only on IE and Newspaper 6+
if (
$this->is_ie === false
and $this->td_theme_name == 'Newsmag'
) {
//add_action('wp_head', array($this, 'hide_body_inline_css'), 15);
}

/**
* jetpack is 'special' - it has to be moved like this. It has now only one CSS
* the two hooks are needed!
* @since 27.05.2015
*/
add_action('wp_print_styles', array($this, 'jetpack_mover'), 10);
add_action('wp_print_footer_scripts', array($this, 'jetpack_mover'), 10);
}

/**
* jetpack is 'special' - it has to be moved like this. It has now only one CSS
* @since 27.05.2015
*/
function jetpack_mover() {
$this->move_style_to_footer_queue('jetpack_css');
}

/**
* here we move the css
*/
function css_mover() {
if ($this->td_theme_name == 'Newsmag') {
// wp 011 - Newspaper 6

//$this->move_style_to_footer_queue('bbp-default-bbpress'); //bpress old
//$this->move_style_to_footer_queue('bbp-default'); //bpress
$this->move_style_to_footer_queue('google_font_open_sans');
$this->move_style_to_footer_queue('google_font_roboto');
$this->move_style_to_footer_queue('contact-form-7');

if ($this->is_ie === false) {
// move style.css theme style
//$this->move_style_to_footer_queue('js_composer_front');
//$this->move_style_to_footer_queue('td-theme'); //this is the main style of the theme. It's only moved on Newspaper 6!
}
}

//@todo test on newsmag
$this->move_style_to_footer_queue('woocommerce_frontend_styles'); //old woocommerce?
$this->move_style_to_footer_queue('woocommerce-layout');
$this->move_style_to_footer_queue('woocommerce-smallscreen');
$this->move_style_to_footer_queue('woocommerce-general');
$this->move_style_to_footer_queue('bp-legacy-css');

$this->move_style_to_footer_queue('td-theme');

$this->move_style_to_footer_queue('font-awesome-four');

//move revolution slider css
$this->move_style_to_footer_queue('rs-plugin-settings');
$this->move_style_to_footer_queue('genericons'); //still rev slider
}

/**
* move the js
*/
function js_mover() {
global $wp_scripts;

//detect revmin - revolution slider and do not move jquery, the plugin outputs raw js in the page!
if( !is_admin() and !isset($wp_scripts->registered['revmin'])){
if (is_ssl()) {
$td_protocol = 'https';
} else {
$td_protocol = 'http';
}

wp_deregister_script('jquery');
wp_register_script('jquery', ($td_protocol . '://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'), true, '1.11.1', true);
wp_enqueue_script('jquery');
}

/**
* move javascript to footer
*/
$this->move_js_to_footer('themepunchtools');
$this->move_js_to_footer('td-site-min');
$this->move_js_to_footer('revmin');
$this->move_js_to_footer('archivesCW');
$this->move_js_to_footer('js_composer_front');
$this->move_style_to_footer_queue('archives-cal-classiclight');

//print_r($wp_scripts);
// replace comment-reply.min.js with inline version
}

/**
* here we render the footer styles
* the styles are already deregistered when you call @see move_style_to_footer_queue ($style_id)
*/
function render_footer_styles() {
//get the theme version for style
$current_theme_version = $this->td_theme_version;

//on demo mode, auto generate version hourly + day - so we get a fresh css hourly
if ($this->td_deploy_mode == 'demo') {
$current_theme_version = date('jG');
}

if (isset($this->style_footer_queue['td-theme'])) {
// whatever the order, make damn sure that our td-theme style is LAST - we remove it from the queue and add it again at the end
$td_theme_value = $this->style_footer_queue['td-theme'];
unset($this->style_footer_queue['td-theme']);
$this->style_footer_queue['td-theme'] = $td_theme_value;
}

// output the new styles
foreach ($this->style_footer_queue as $style_id => $style_src) {
echo "<link rel='stylesheet' id='" . $style_id . "-css' href='" . $style_src . "?ver=" . $current_theme_version . "' type='text/css' media='all' />\n";
}
}

/**
* prevent flickering of the image until the style is loaded
*/
function hide_body_inline_css() {
echo '<style>body {visibility:hidden;}</style>';
}

/**
* the id of the style can be found in the source of the page, for example:
* <link rel='stylesheet' id='td-theme-css' => the id is 'td-theme' (note that the '-css' part is missing)
* using this method you can move other styles if needed
* Moves a style to the bottom of the page
* @param $style_id string - the id of the style
*/
function move_style_to_footer_queue($style_id) {
global $wp_styles;
if (!empty($wp_styles->registered[$style_id]) and !empty($wp_styles->registered[$style_id]->src)) {
$this->style_footer_queue[$style_id] = $wp_styles->registered[$style_id]->src;
wp_deregister_style($style_id);
}
}

/**
* @param $js_id string - the js file id (this is a bit more complex to get) @todo -> add a tutorial about how to get the theme js
*/
function move_js_to_footer($js_id) {
global $wp_scripts;
if (isset($wp_scripts->registered[$js_id])) {
wp_enqueue_script($js_id, ($wp_scripts->registered[$js_id]->src), '', $wp_scripts->registered[$js_id]->ver, true);
}

}

}

new td_speed_booster();

and here is registered scripts

registered scripts
archivesCW | http://www.domain.com/second/wp-content/plugins/archives-calendar-widget/jquery.archivesCW.min.js
aspexi-facebook-like-box | http://www.domain.com/second/wp-content/plugins/aspexi-facebook-like-box/js/aflb.js
jquery | http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
td-site-min | http://www.domain.com/second/wp-content/themes/Newsmag/js/tagdiv_theme.min.js
comment-reply | /wp-includes/js/comment-reply.min.js
registered styles
archives-cal-classiclight | http://www.domain.com/second/wp-content/plugins/archives-calendar-widget/themes/classiclight.css
awesome-weather | http://www.domain.com/second/wp-content/plugins/awesome-weather/awesome-weather.css
opensans-googlefont | https://fonts.googleapis.com/css?family=Open+Sans:400,300
google_font_roboto_cond | http://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,400italic,700italic,400,300,700
google-fonts-style | http://fonts.googleapis.com/css?family=Open+Sans:400,700
js_composer_front | http://www.domain.com/second/wp-content/plugins/js_composer/assets/css/js_composer.css
td-theme | http://www.domain.com/second/wp-content/themes/Newsmag/style.css
td-theme-child | http://www.domain.com/second/wp-content/themes/Newsmag-child/style.css

gregy1403
tagDiv Member

Hi

Mean while i found a code, that i put into functions.php


// Runs before the posts are fetched
add_filter( 'pre_get_posts' , 'my_change_order' );
// Function accepting current query
function my_change_order( $query ) {
// Check if the query is for an archive
if($query->is_archive)
// Query was for archive, then set order
$query->set( 'order' , 'asc' );
// Return the query (else there's no more query, oops!)
return $query;
}

works like a charm πŸ™‚

Thank you

gregy1403
tagDiv Member

Thank you .. i found some very good explaining articles about sorting, but i cannot see where to set this in template files? Archve.php and category.php files don’t have “have_posts” query …

gregy1403
tagDiv Member

THANK YOU!

I followed your posts and managed my site to show in no time πŸ™‚

Pingdom

.. going for last 5 points πŸ™‚

  • This reply was modified 11 years by gregy1403.
gregy1403
tagDiv Member

Nope πŸ™ i’m thinking of buying theme from another developer πŸ™

gregy1403
tagDiv Member

it’s http://www.cele.si/new .. meanwhile when you’re there/here, can you fix Custom Post Type to work? πŸ™‚ πŸ™‚

Thank you

gregy1403
tagDiv Member

Hi Radu

In past week we had like 3 different programmers trying to get Visual Composer to sort by CTP categories. None of them could make modifications πŸ™ The last one says it’s definitely theme that makes a problem.

Do you have any estimated finish time regarding CTP support in Newsmag theme.

We wanted to start with our site tomorrow as of 1st July, but now we are pushed back to unknown date πŸ™

Thank you

gregy1403
tagDiv Member

Thank you Radu for this info …

gregy1403
tagDiv Member

waiting πŸ˜‰

P.s. been reading a lot of posts mentioning CTP, so i think it’s a must to have CTP supported theme.

gregy1403
tagDiv Member

no they are not .. that’s my problem πŸ™‚ Do you happened to know the solution how to us them in ajax dropdown?

gregy1403
tagDiv Member

I made categories in cpt.

gregy1403
tagDiv Member

In Visual Composer, there is a setting where you check what to include into VC. Then later in block setting you have to enter CPT name in Post type field and voila … now i just have to get CPT categories to work .. here i’m stucked

You can see at http://www.cele.si/new .. whole site is now made of CPT .. yet not sorted by categories πŸ™‚

gregy1403
tagDiv Member

Hi

Back again, this time with great news πŸ™‚

Visual Composer does display CPT! This is our test site –> http://www.cele.si/new/td_d_slug_10/

All we need to do now is, to be able to pick up categories of CPT when editing block in Visual Composer. At the moment it shows only post categories.

Any idea?

Thank you

gregy1403
tagDiv Member

please, disregard this post .. there is a big progress with CPT πŸ™‚ thanx anyway

gregy1403
tagDiv Member

We cannot use posts, cause our site would be displaying Events from Event Espresso plugin which is CPT.

Can you give me some promising estimated dates regarding CPT support in Newsmag or even better, how to code CPT into Newsmag.

Thank you

Viewing 15 posts - 51 through 65 (of 65 total)