如何将PHP / Wordpress中的变量从子模板传递给父模板

时间:2017-05-02 13:27:02

标签: php wordpress

我有两个Wordpress模板

  1. 帖子标题
  2. 需要标题的帖子内容
  3. 我想传递一个" 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>
    

    如果我执行此操作,这会影响对此标题/内容的单次调用,还是会为后续帖子/请求保留设置?

    谢谢!

    詹姆斯

1 个答案:

答案 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>