使用if is_page()Wordpress条件语句

Ami*_*mit 3 tags wordpress conditional if-statement

我正在尝试在wordpress上构建的每个页面上都有不同的图片.

所以我在index.php文件,archive.php文件,page.php文件等中有以下内容:

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

现在,在我的page.php文件中,我有以下内容:

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

为什么这不起作用?我试着用一个相等的(=)符号...

编辑:如果我在顶部定义$ toppic,例如,在index.php文件中,如下所示:

<?php $toppic = 'page1.png'; ?>
Run Code Online (Sandbox Code Playgroud)

然后它工作.因此,它必须与条件if is_page/is_home语句有关.有任何想法吗?

谢谢!阿米特

Ami*_*mit 6

好的,我找到了答案.

这是需要做的.对于文章(博客)页面,您需要在顶部显示以下内容:

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

然后,在page.php文件中,您可以控制所有其他页面顶部的图片(404除外,您需要在404.php中放置一个is_404().所以这就是它的样子:

<?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';
    }
?>
Run Code Online (Sandbox Code Playgroud)

最后,为了实现这一点,请使用以下HTML/php语法:

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

就这样.唷.终于让它工作了:)不得不为客户做到这一点!