2013-04-17 2 views
1

Я пытаюсь использовать is_page() условно в Wordpress, чтобы определить, является ли текущая страница страницей листинга блога (или фактической страницей блога). Условная работа отлично подходит для любой другой страницы (контакт, что-то и т. Д.), Но по какой-то причине она не работает на странице блога.Wordpress is_page() для страницы с сообщением в блоге

Плюс фактические страницы блога - URL-адреса www.domain.com/the-post-title, поэтому я не могу проверить «блог» в URL-адресе от $ _SERVER или чего-то еще. Любая помощь была бы чрезвычайно оценена.

ответ

0

Вам может понадобиться сделать комбинацию is_home() - если ваша домашняя страница блога

или is_single() на основе типа блоге

ссылка: http://codex.wordpress.org/Conditional_Tags#A_Single_Post_Page

+0

Спасибо за ответ! К сожалению, страница блога не дома, она включена/в блоге. Я не понимаю, почему if (is_page («контакт»)) верно для страницы «Контакты», но если (is_page («блог»)) недействительно для Blog. Я также пробовал идентификатор страницы (5) с тем же результатом. – splscs

+0

убедитесь, что то, что вы пытаетесь восстановить, является фактическим «слипом» страницы «blog» –

+3

, вы также попробовали is_home ('blog'); ? –

0

Согласно к this статье, это то, как вы используете эти виды условных функций:

if (is_front_page() && is_home()){ 
    // Default homepage 
} elseif (is_front_page()){ 
    //Static homepage 
} elseif (is_home()){ 
    //Blog page 
} else { 
    //everything else 
} 
+0

Спасибо - я буду помнить об этом в будущем. is_home() для страницы с сообщением в блоге ... не интуитивно. Интуитивно понятный будет сопоставлять эти функции с этими комментариями - is_default_homepage(), is_blog_page() и т. Д. Ну, я запомню это на будущее :-) – splscs

1

Нам нужно проверить:

  • если эта страница - страница блога.
  • , если эта страница является "страница сообщений"

    function is_page_for_posts() { 
        $result = false; 
    
        if (is_home() && ! is_front_page()) { 
         $page = get_queried_object(); 
    
         $result = ! is_null($page) && $page->ID == get_option('page_for_posts'); 
        } 
    
        return $result; 
    } 
    
Смежные вопросы