Wordpress init remove_action с условными тегами - PullRequest
1 голос
/ 04 февраля 2010

Мне нужно сделать это для темы:

remove_action( 'wp_head', 'rel_canonical' );

НО мне нужно сделать это с условными тегами. Код ниже не работает.

if(is_page('comment'))
{
   remove_action( 'wp_head', 'rel_canonical' );
}

И мне нужно сделать это с помощью плагина.

Я попытался подключить оператор if к тесту функции, например:

add_action('init', 'test');
function test()
{
   if(is_page('comment'))
   {
      remove_action( 'wp_head', 'rel_canonical' );
   }
}

Поскольку он запускается до того, как что-либо еще, условные теги не работают, я думаю.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 07 февраля 2010

Я обнаружил, что вместо использования init в качестве действия, я должен использовать это:

add_action('template_redirect', 'test');

Затем он запускается до header.php, но после установки условных тегов.

0 голосов
/ 05 февраля 2010

Попробуйте заменить действие rel_canonical своей собственной функцией, содержащей условие, примерно так:

remove_action('wp_head', 'rel_canonical');
function my_rel_canonical() {
    if (!is_page('comment')) rel_canonical();
}
add_action('wp_head', 'my_rel_canonical');
...