使用 if is_page() Wordpress 条件语句
Posted
技术标签:
【中文标题】使用 if is_page() Wordpress 条件语句【英文标题】:Using if is_page() Wordpress conditional statement 【发布时间】:2011-03-23 19:15:48 【问题描述】:我试图在我基于 wordpress 构建的每个页面上都有不同的图片。
所以我的 index.php 文件、archive.php 文件、page.php 文件等中有以下内容:
<img src="<?php bloginfo('template_url'); ?>/images/<?php echo $toppic; ?>" 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 语句有关。有什么想法吗?
谢谢! 阿米特
【问题讨论】:
【参考方案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 ?>" 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。为什么这不起作用,但所有其他人都这样做!$@!$以上是关于使用 if is_page() Wordpress 条件语句的主要内容,如果未能解决你的问题,请参考以下文章