Поддержка Проблемы и решения wp_head => wp_dequeue_style

  • Решено marten1

    (@marten1)


    Вообщем то избитая история и да опять она, нужно отключить всю херню из wp_head и в частности css родной темы, без понятия в чем дело, регать через wp_register_style пробовал но чет тоже все печально, буду весьма благодарен.

    <?php function remove_css_from_wp_head() { wp_dequeue_style( 'twenty-twenty-one-style-css' );} add_action( 'wp_enqueue_scripts', 'remove_css_from_wp_head', 9999 ); ?>
    
    	<?php wp_head(); ?>
    
    <?php add_action('wp_head', function(){  wp_dequeue_style( 'twenty-twenty-one-style-css' );  }, 7 ); ?>

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Юрий

    (@yube)

    wp_dequeue_style( ‘twenty-twenty-one-style-css’

    Во-первых, увольнять надо по тому хендлеру, с котором стиль/скрипт зарегистрирован/подключен. Смотреть лучше в коде. И там мы видим
    wp_enqueue_style( 'twenty-twenty-one-style', ...
    Найдите отличия 🙂

    Во-вторых, это надо делать после регистрации/подключения, то есть после того, как выполнится обработчик хука ‘wp_enqueue_scripts’. Если что, дефолтный приоритет 10.

    То есть должно быть примерно это?

    
    <?php wp_head(); ?>
    
    <?php function css_to_wp_head() {
     	wp_enqueue_style( 'twenty-twenty-one-style', get_stylesheet_directory_uri() . '/wp-content/themes/twentytwentyone/style.css', array(), null );
    }
     
    add_action( 'wp_enqueue_scripts', 'css_to_wp_head' ); ?>
    
    <?php add_action('wp_head', function(){  wp_dequeue_style( 'twenty-twenty-one-style' );  }, 7 ); ?>
    
    

    Или наверное возможно так потому что он берет wp_enqueue_style

    <?php wp_head(); ?>
    
    <?php function remove_css_from_wp_head() { wp_dequeue_style( 'twenty-twenty-one-style' );} add_action( 'wp_enqueue_scripts', 'twenty-twenty-one-style', 9999 ); ?>
    
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А почему этот код идёт после вызова wp_head()? На данном этапе убирать что-либо из вывода уже поздно, это нужно делать в файле функций темы.

    да я понимаю, что это не совсем правильно и вообще нужно писать в снипет, но просто пока для удобства кидаю все в header потом пораскидываю, но по коду так?

    Рабочий код, может надо кому

    <?php function css_to_wp_head() {
     	wp_enqueue_style( 'twenty-twenty-one-style', get_stylesheet_directory_uri() . '/wp-content/themes/twentytwentyone/style.css', array(), null );
    }
     
    add_action( 'wp_enqueue_scripts', 'css_to_wp_head' ); ?>
    
    <?php add_action('wp_head', function(){  wp_dequeue_style( 'twenty-twenty-one-style' );  }, 7 ); ?>
    
Просмотр 5 ответов — с 1 по 5 (всего 5)