如何通过名称返回作为子页面的页面的布尔值?

时间:2018-03-13 作者:Jones G

我正在尝试使用其名称检查作为子页面的页面。例如

https://www.myexample.com/mypage/subpage_anything_1/andso_on
在这里www.myexample.com 是web域,mypage 是页面和subpage_anything_1 是子页面。我们可以使用is\\u page()检查是否在特定页面上,如

if(is_page(\'mypage\')){//mycode}
当我对一个子页面名称执行相同操作时

if(is_page(\'subpage_anything_1\')){//mycode}
这个条件不起作用,据我猜测,即使我在那个子页面上,它也会返回为false。

有一个related discussion 在使用此代码的stockoverflow中

<?php

global $post;     // if outside the loop

if ( is_page() && $post->post_parent ) {
    // This is a subpage

} else {
    // This is not a subpage
}
?>
但我认为对于任何子页面,它都会返回true,相反,我尝试的是仅通过其名称对特定子页面进行布尔检查。

最好的解决方案是什么?

我试过:

is_page(\'mypage/subpage_anything_1\') //does not work
is_child_page(\'subpage_anything_1\') //I did not see any documentation

1 个回复
最合适的回答,由SO网友:Jones G 整理而成

认为子页面是subpage_anything_1 要检查我们是否在该页面上,我们可以使用strpos 到请求的URI

strpos($_SERVER[\'REQUEST_URI\'],"subpage_anything_1");

结束