Php 如何在wordpress的所有页面上显示一个父页面的子页面
我正试图在我的wordpress网站的所有页面的页脚中显示rugs的子页面 我正在使用的页脚中的代码是Php 如何在wordpress的所有页面上显示一个父页面的子页面,php,wordpress,Php,Wordpress,我正试图在我的wordpress网站的所有页面的页脚中显示rugs的子页面 我正在使用的页脚中的代码是 <?php global $wp_query; $post = $wp_query->post; $ancestors = get_post_ancestors($post); if( empty($post->post_parent) ) { $parent =
<?php
global $wp_query;
$post = $wp_query->post;
$ancestors = get_post_ancestors($post);
if( empty($post->post_parent) ) {
$parent = $post->ID;
} else {
$parent = end($ancestors);
}
if(wp_list_pages("title_li=&child_of=$parent&echo=0" )) { ?>
<ul class="footerNav clearfix">
<?php wp_list_pages("title_li=&child_of=$parent&depth=1" ); ?>
</ul><!-- #secondary-nav -->
<?php } ?>
但是,当您处于相关类别中时,这仅显示页脚中的子页面,我希望在所有页面上看到此导航
谢谢
坐
这是一个链接,指向一个页面,页面的页脚是我希望在所有页面上显示的
通过使用
$post = $wp_query->post;
$ancestors = get_post_ancestors($post);
变量$post被分配给访问者当前正在查看的帖子
如果你想在所有的页面上都有一个包含所有地毯的菜单,你只需要代码的底部。另外,参数的子_不需要通过变量赋值,您可以输入rugs的静态页面ID,即173:
这三行就足以为您生成菜单。围绕它的if语句检查特定父页面是否有子页面,并且仅在这种情况下生成无序列表。既然你知道它在这种情况下是存在的,我就把它删掉,并保存这两行。为了完整起见,我加入了sort_列参数-这将为您提供所有地毯的按字母顺序排序的菜单
if语句上面的代码仅适用于动态菜单,这些菜单根据访问者当前所在的页面而变化。如果你曾经想要实现这样一个菜单,我仍然会以不同的方式去做,并且认为上面的内容过于夸张。简单插入
<?php $ancestors = get_post_ancestors($post); ?>
php文件将允许您在其他地方使用
<?php if (is_page(173) || in_array(173,$ancestors)) { ?>
<ul class="subnav">
<?php wp_list_pages('title_li=&child_of=173&depth=1'); ?>
</ul>
<?php } ?>
如上所述,对于您的特定情况,第一个代码块三行程序就足够了
进一步参考:hi我将其更改为$consenses=$consenses=get\u post\u consenses(175);我犯了一个累人的思维错误。我昨天给你的代码抓住了“rugs”的祖先,也就是你的主页(slug'luke irwin')。但是,既然您已经知道将其更改为175,那么如果您删除了整个
$wp query
内容和if语句,只留下$procents=get\u post\u procents(175)
和$parent=end($祖先)代码>无论如何,我已经更新了我的答案。太棒了,非常感谢你的帮助!!我稍后会测试它。就在别的事情的中间。
<?php if (is_page(173) || in_array(173,$ancestors)) { ?>
<ul class="subnav">
<?php wp_list_pages('title_li=&child_of=173&depth=1'); ?>
</ul>
<?php } ?>