我有两个Wordpress模板
我想传递一个" hideContent"在某些情况下,从标题变量,如果设置为true,则隐藏内容。
-intent.php文件
<div class="header">
<?php require locate_template("the-header.php"); <?php } ?>
</div>
<div class="content">
<?php if ($hideContent != true) { ?>
/* content to hide if flag is set */
<?php } ?>
</div>
如果我执行此操作,这会影响仅对此标题/内容的单次调用,还是会为后续帖子/请求保留设置?
谢谢!
詹姆斯
答案 0 :(得分:1)
locate_template()
仅返回具有最高优先级的模板的文件名(以及路径),然后将其包含为常规文件。
这意味着,与get_template_part()
不同,任何变量都与父模板文件共享范围,反之亦然,因此可以访问$hideContent
。
我建议你另外做的就是纠正这一部分:
<?php if ($hideContent != true) { ?>
进入
<?php if ($hideContent != true && isset($hideContent)) { ?>
,
或者只是总是设置此变量。
此外,您可以添加条件(如果是单个帖子is_single()
,然后检查帖子类型(global $post
,$post->post_type
)等,目的是区分各种情况< / p>