检查页面中是否加载了模板部件

时间:2013-01-25 作者:Jennifer Michelle

我有这样一个模板部分:

<nav id="subpagemenu" class="sidebar">
    <?php get_template_part( \'nav\', \'subset\' ); ?>
    <?php get_sidebar(); ?>
</nav>
这两个都是有条件的,我的意思是,如果没有内容,就不会加载任何内容。如果有内容,它们都会加载如下框:

 <div class="widget"> 
现在我想知道是否有任何小部件(侧栏或我的template\\u部分),以便在我的函数中。php中,我可以设置变量$mywidgets=true或false。

我知道我可以对一个部分使用“\\u is\\u active\\u侧边栏”,但如何检查另一个部分?我不想把那个部分注册为边栏。。。我只需要一个“真/假”。

我尝试了“is\\u page\\u template”和“set\\u theme\\u mod”。我还研究了这些线程:

https://stackoverflow.com/questions/6366351/getting-dom-elements-by-class-name

Is there a way to check which template file is being loaded, if it is not a page template file?

我是不是想错了?是否需要以不同的方式构建主题?

谢谢

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

可以在主题函数中定义全局变量。php

global $mywidgets;
$mywidgets = false;
在模板零件中添加

global $mywidgets;
$mywidgets = true;
在函数中,您可以检查其是否设置为true:

function my_function(){
    global $mywidgets;
    $mywidgets = true;
    if ($mywidgets){
       // YES Your template part is loaded
    }else{
       // NO Your template part is not loaded
    }
}

结束

相关推荐