Использование условного выражения if is_page () в Wordpress - PullRequest
3 голосов
/ 01 августа 2010

Я пытаюсь сделать разные картинки на каждой из моих страниц, построенных на 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';
    }
?>

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

РЕДАКТИРОВАТЬ: Если я определяю $ toppic вверху, например, в файле index.php следующим образом:

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

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

Спасибо!Amit

Ответы [ 2 ]

6 голосов
/ 01 августа 2010

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

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

<?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" />

Вот и все. Фу. Наконец-то все заработало :) Пришлось сделать это и для клиента!

1 голос
/ 01 августа 2010

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

...