Wordpress条件标题内容取决于页面和子级


Wordpress conditional header content dependent on page and children

在我的Wordpress网站上,我想为页面"254"及其所有后代显示不同的标题内容。

我使用的代码是

if ( $post->post_parent == '256' ) {
  <p>My parent is 256 or I am 256</p>
}
else {
<p>My parent is not 256</p>
}

但是,此代码不起作用。我是PHP的新手,所以我不确定还有什么其他的解决方案可以探索。

我希望这能有所帮助:

if(is_page(256) || wp_get_post_parent_id(get_the_ID()) == 256 ) {
   echo '<p>My parent is 256 or I am 256</p>';
} else {
   echo '<p>My parent is not 256</p>';
}

获取页面自定义布局的最简单方法是在Wordpress中使用特定于页面的模板。

为页面模板提供一个ID为page-256.php的自定义名称,并将该页面放在项目主题的根目录中。它将覆盖位于page.php中的典型页眉。

page-ID#.php这样命名模板是非常重要的。WordPress的设置是为了寻找命名约定并创建覆盖。查看更大的WordPress模板层次结构,了解有关覆盖如何工作的更多信息。

应该类似于:

$parent = wp_get_post_parent_id( $post->ID );
if ($parent == 256 || post->ID == 256) {
    #Do something
    echo "<p>My parent is 256 or I am 256</p>" ;
} else {
    #Do regular things.
    echo "<p>My parent is not 256</p>" ;
}

请在此处查找函数参考。

还要注意,我使用了"echo"来打印html。

如果你想打印没有"echo"的HTML,你也可以用?>关闭php并在HTML之后用:<?php

重新打开它