2015-01-05 2 views
0

Я просто добавил фильтр the_title используя следующий код:Wordpress - Проверьте, если название используется в меню нав

function my_filter($content) { 
      $content .= '<div class="meta">'; 
      $content .= 'My filter'; 
      $content .= '</div>'; 

     return $content; 
    } 

    if(!is_single()){ 
      add_filter('the_title', 'my_filter', 1); 
    } 

То, что я заметил, это фильтр также добавляется в те названия, которые используются в wp_nav_menu(). Я хочу отобразить фильтр только после названия, если текущая страница не является отдельной страницей.

ответ

0

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

if(!is_single()){ 
    add_filter('the_title', 'my_filter', 1); 
} 
else { 
    remove_filter('the_title', 'my_filter', 1); 
} 

Я думаю, что когда-то фильтр добавляется на не одну страницу, она остается применяться до тех пор, пока удалены.

http://codex.wordpress.org/Function_Reference/remove_filter

+0

Это не сработало. Спасибо за вашу поддержку. –

+0

Интересно. Что происходит, когда вы проверяете, присутствует ли фильтр на разных страницах? aka, if (has_filter ('the_title', 'my_filter')) {echo 'Has filter'; } 'Это может помочь вам отладить. – bronzehedwick

Смежные вопросы