如何检查是否将searchform.php包含在窗口小部件中? 时间:2012-11-12 作者:Paul 我想在searchform中输入这样的内容。php:<?php if($widget){ ?> //load serach form for sidebar... <?php }else{ ?> //load different search form for page content (404 page) <?php } ?> 我如何准备$widget 变量或者我应该用另一种方法?像过滤器?或获取模板部件? 2 个回复 最合适的回答,由SO网友:kaiser 整理而成 检查是否包含searchformTheget_search_form() (应该使用的)函数locate_template(\'searchform.php\'); 显示搜索表单。后者返回(从其源代码中可以看到)模板文件名(如果有)因此,如果您只是想捕捉默认方式,那么您应该简单地进行测试\'searchform.php\' === locate_template( \'searchform.php\' ) AND print \'Search form displayed!\'; 关于如何包含搜索表单,您可能会想到上百种其他场景,但您永远也无法将它们全部捕捉到。真正的问题(我没有解决方法)是,这只检查存在性,而不是通过小部件包含它。因此,上述内容仅适用于(自定义)小部件内部。以编程方式显示小部件如果希望通过模板中的PHP代码显示小部件(没有其他小部件),请使用the_widget() Source link。检查侧栏要检查侧栏,只需检查$GLOBALS[\'wp_registered_sidebars\'].检查小部件核心还可以检查已注册的小部件:wp_get_sidebars_widgets(), 您可以使用它来检查小部件是否存在。 SO网友:Paul 我设法做到了这一点get_template_part(); - 您只需要searchform。php和searchform不同。php。 结束 文章导航