Subpage Conditional

时间:2013-01-30 作者:Josh Rodgers

我正在寻找一种为子页面编写条件的方法。。。换句话说

if 我们在“duck”子页面,然后做点什么。。。if 不要做其他事情。

我发现了一些我认为可行的代码,但它显示在给定父页面下的所有页面上,而不仅仅是在其单独页面上。。。我只是想把目标锁定在单个页面上。

这包括以下功能:

// Subpage Shortcode
function is_child($page_id_or_slug) {
    global $post;
    if(!is_int($page_id_or_slug)) {
        $page = get_page_by_path($page_id_or_slug);
        $page_id_or_slug = $page->ID;
    }
    if(is_page() && $post->post_parent == $page_id_or_slug ) {
        return true;
    } else {
        return false;
    }
}
这是我的if:

if (is_child("Youth")) {
    echo "duck";
} else {
    echo "something else";
}
谢谢,乔希

2 个回复
最合适的回答,由SO网友:Josh Rodgers 整理而成

我不知道我之前在想什么。。。我想我在想is_page 不适合我的孩子页面,但我在想。。。这是我的最终代码:

<?php if (is_page("duck")) { 
    echo "do something";
} else { 
    echo "something else";
} ?>
我知道,我知道这很简单,但它是有效的-我想我只是在放屁。

谢谢,乔希

SO网友:Alex V.

嗯,我来试试这个。有几种方法可以做到这一点。检查页面是否是直接子级,检查它是否是祖先。

下面的内容可能适合您

if (283 == $post->post_parent) {
echo \'this post has a parent of 283 so do this\';
}else {
    echo "or do something else";
}

结束

相关推荐

Organizing Your Pages

我在创建子页时遇到问题。到目前为止,我遵循了正确的方向:转到新页面,单击“页面父级”下拉菜单</从下拉菜单中选择适当的父页面,使当前页面成为子页面</准备就绪后单击发布当我发布页面时,会导致找不到页面。例如:假设我有一个南美页面,我添加了“儿童”页面:南美洲当我访问www.mywebsite时,我会看到阿根廷、巴西。com/南美/阿根廷它说找不到页面。但是:www.mywebsite。com/南美洲/(works)</www.mywebsite。com/阿根廷/(works) </