使用if is_page()Wordpress条件语句

时间:2010-08-01 06:45:19

标签: wordpress tags conditional if-statement

我正在尝试在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语句有关。有什么想法吗?

谢谢! 阿米特

2 个答案:

答案 0 :(得分:6)

好的,我找到了答案。

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

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

这就是全部。唷。终于让它工作了:)不得不为客户做到这一点!

答案 1 :(得分:1)

您的文章页面的slug必须定义为articles。这在编辑页面界面中设置,请参阅these directions