2010-08-01 2 views
2

Я пытаюсь иметь разные картинки на всех моих страницах, построенных на wordpress.Использование if is_page() Wordpress условное утверждение

Так у меня есть следующие в моем файле index.php, archive.php файл, page.php файл и т.д.:

<img src="<?php bloginfo('template_url'); ?>/images/<?php echo $toppic; ?>" alt="page1" id="mainPageImg" /> 

Теперь в моем файле page.php, у меня есть следующие:

<?php 
    // TOP PICTURE DEFINITIONS 
    if (is_home()) { 
     $toppic == 'page1.png'; 
    } 
    if (is_page('articles')) { 
     $toppic == 'page2.png'; 
    } 
?> 

Почему это не работает? Я попробовал с одной равенства (=) знак ...

EDIT: Если я определяю $ toppic в верхней части, например, в файле index.php следующим образом:

<?php $toppic = 'page1.png'; ?> 

Тогда это работает , Таким образом, это должно быть что-то, что связано с условными if is_page/is_home заявлениями. Есть идеи?

Спасибо! Amit

ответ

3

Хорошо, я нашел ответ.

Это то, что нужно сделать. Для статей (блог) страницы, в верхней части вам необходимо поместить следующее:

<?php // TOP PICTURE DEFINITION FOR ARTICLES PAGE 
     if (is_home()) { 
      $toppic = 'page1.png'; 
     } 
?> 

Затем в файле page.php, вы можете контролировать изображение в верхней части для всех остальных страниц (за исключением 404 , где вы должны были бы поставить is_404() в 404.php Так это то, что он выглядит следующим образом:.

<?php 
    // TOP PICTURE DEFINITIONS 
    if (is_page('english')) { 
     $toppic = 'page1.png'; 
    } 
    if (is_page('aboutus')) { 
     $toppic = 'page1.png'; 
    } 
    if (is_page('newspaper')) { 
     $toppic = 'page1.png'; 
    } 
    else { 
     $toppic = 'page1.png'; 
    } 
?> 

И, наконец, для того, чтобы осуществить это, используйте следующий синтаксис HTML/PHP:

<img src="<?php bloginfo('template_url'); ?>/images/<?php echo $toppic ?>" alt="page1" id="mainPageImg" /> 

Это все. Уф. Наконец, он заработал :) Придется сделать это для клиента тоже!

+0

Я не понимаю, что это было за решение, это ваша страница «статей» и ваша домашняя страница? –

+0

Страница статей не является моей домашней страницей. Я установил «статическую» переднюю страницу. Тем не менее, функция Wordpress is_home() возвращает «true» для страницы блога (например, страницы моих статей). Вот почему вы должны поместить файл is_home() в файл index.php, is_404() в файле 404.php и is_page() в файле page.php. Надеюсь, что помогло – Amit

+0

Хорошо, я думал, что «статьи» были одной из ваших статических страниц, а не вашей страницы блога. Да 'is_home()' это страница, которая является вашей главной страницей блога, и 'is_front_page()' является вашей главной страницей. –

1

Пульс для вашей Статьи страница должна быть определена как articles. Это задано в интерфейсе страницы редактирования, см. these directions.

+0

Да, правда. Я посмотрю, что – Amit

+0

Не должно быть is_home() работать, хотя? – Amit

+0

Я только что проверил его, пул установлен для статей ... Я должен упомянуть, что это дочерняя страница родительской страницы. Должно ли это иметь значение? – Amit

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