Это хорошая идея, чтобы зарегистрировать стиль только на определенных страницах WP? - PullRequest
0 голосов
/ 29 декабря 2018

У меня проблема со скоростью страницы, тема, которую я купил, действительно дрянная, но я не могу ее сейчас изменить.Я использую WP_rocket, на сервере есть HTTP2, но все же это много ресурсов для загрузки.Поэтому я пытаюсь уменьшить количество стилей с помощью wp_deregister_style и загружать его только при необходимости.Например, контакт-форма-7 стиль интерфейса мне нужен только на ... / странице контактов.Это хорошая идея?Или это может быть вредно?

function rs_deregister_css () {

global $wp;
 $url = home_url( $wp->request);
 $contakt = strpos($url,'contakt');

   if (!$contakt) {
        wp_deregister_style('contact-form-7');
  }

}

add_action ('wp_print_styles', 'rs_deregister_css', 99);

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Да, это очень хорошая идея, поскольку вы используете контактную форму только на странице контактов, не забудьте также отменить регистрацию файла javascript

if (!$contakt) {
  wp_deregister_style('contact-form-7');
  wp_deregister_script('contact-form-7');
}
0 голосов
/ 29 декабря 2018

Да, это было бы хорошей идеей для вашего времени загрузки.Но я предлагаю вам загружать стиль на конкретный вместо проверки URL и выгружать его каждый раз.

Попробуйте прочитать Условные теги

function my_enqueue_stuff() {
  if ( is_front_page() ) {
    /** Call landing-page-template-one enqueue */
        wp_enqueue_style( 'your-style-handle', get_stylesheet_directory_uri() . '/yourfile.css' );
  } else {
    /** Call regular enqueue */
  }
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );

РЕДАКТИРОВАТЬ

Так как вы хотите загружать стиль или JavaScript только для определенных страниц, добавьте этот код в ваши functions.php:

function remove_wpcf7_extras() {
    remove_action('wp_print_scripts', 'wpcf7_enqueue_scripts');
    remove_action('wp_print_styles', 'wpcf7_enqueue_styles');
}

if( !is_page('contact') ) {
    add_action('wp_head', 'remove_wpcf7_extras');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...