子页面的IF语句父页面

时间:2015-01-27 作者:Wordpressy

我正在尝试实现一个代码,将文件包含到页面中,这些页面有一个父页面。因此,我没有重复“if语句”的代码,而是使用这个函数,但它不起作用。我希望任何一个页面落在包含该测试的父页面下。php文件

global $post;
if ($post->post_parent == 974) {
include \'test.php\';
}
谢谢你

2 个回复
SO网友:Privateer

If test.php is in your theme directory, 请尝试定位\\u模板(\'test.php\')。

If it is somewhere else, 确保您正试图通过所需的路径正确地包含它。

只是做“包括”测试。php最有可能让它认为这是一个测试。php位于站点的根目录as/index中。php运行该站点(例如,wp\\u config.php文件所在的位置,除非您有自定义设置。)

很可能您只是在错误的位置查找要包含的文件。

尝试:

require \'test.php\';
如果页面死机,它将尝试加载,但查找的位置错误。

SO网友:jhoffmcd

我希望任何一个页面落在包含该测试的父页面下。php文件

听起来你需要is_tree() 作用对于这种类型的功能,我已经多次使用它。首先,在functions.php file:

function is_tree($pid) { // $pid = The ID of the page we\'re looking for pages underneath
    global $post; // load details about this page
    if(is_page()&&($post->post_parent==$pid||is_page($pid))) 
           return true;   // we\'re at the page or at a sub page
    else 
           return false;  // we\'re elsewhere
};
然后,您可以在需要满足该条件的任何地方使用该函数,并使用父页面ID作为参数:

if (is_tree(974)) {
     include \'test.php\';
}
您可以在上查看此方法的详细信息CSS-Tricks.

EDIT: 这都是假设你遵循了正确的主题约定。

结束