【问题标题】:Using if is_page() Wordpress conditional statement使用 if is_page() Wordpress 条件语句
【发布时间】:2011-03-23 19:15:48
【问题描述】:

我试图在我基于 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 is_page/is_home 语句有关。有什么想法吗?

谢谢! 阿米特

【问题讨论】:

    标签: wordpress tags conditional if-statement


    【解决方案1】:

    好的,我找到了答案。

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

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

    然后,在您的 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';
        }
    ?>
    

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

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

    就是这样。呸。终于让它工作了 :) 也必须为客户做这件事!

    【讨论】:

    • 我不知道解决方案是什么,您的“文章”页面也是您的主页吗?
    • 文章页面不是我的主页。我设置了一个“静态”首页。但是,Wordpress 函数 is_home() 为博客页面(又名我的文章页面)返回“true”。这就是为什么您必须将 is_home() 放在 index.php 文件中,将 is_404() 放在 404.php 文件中,并将 is_page() 放在 page.php 文件中的原因。希望有所帮助
    • 好的,我认为“文章”是您的静态页面之一,而不是您的博客页面。是的,is_home() 是您的主要博客页面,is_front_page() 是您的首页。
    • 你知道如何在多个页面上显示帖子吗?
    【解决方案2】:

    文章页面的 slug 必须定义为 articles。这是在编辑页面界面设置的,见these directions

    【讨论】:

    • 是的。我会调查的
    • 我刚刚检查了一下,slug 是为文章设置的...我应该提到这是父页面的子页面。这有关系吗?
    • 除博客(文章)页面外,所有其他页面现在都可以使用
    • 我什至尝试过 is_page('53') 其中 '53' 是文章(博客)页面的 ID。为什么这不起作用,但所有其他人都这样做!$@!$
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 2018-06-29
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多