2010-02-04 4 views
0

мне нужно сделать это для темы:Wordpress INIT remove_action с условными тегами

remove_action('wp_head', 'rel_canonical'); 

, но мне нужно сделать это с помощью условных тегов. Код ниже не работает.

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

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

Я попытался зацепить, если заявление в тест функции, например:

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

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

Любые идеи?

ответ

3

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

add_action('template_redirect', 'test'); 

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

+0

+1 init слишком рано запускать условную логику – helgatheviking

+0

Thanks Jens. Это именно то, что я искал. –

0

Попробуйте заменить 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'); 
Смежные вопросы