模板部件包括不起作用

时间:2021-03-02 作者:user15081222

从那以后,我尝试了一个空白的新php文件,并以同样的方式访问它——这很有效。因此,我现在不清楚为什么现有文件根本不加载。没有错误。以下是我获得的模板部分的代码开头:

<?php
   require_once WP_PLUGIN_DIR.\'/themename/includes/file1.php\';
   require_once WP_PLUGIN_DIR.\'/themename/includes/file2.php\';
   require_once WP_PLUGIN_DIR.\'/themename/includes/file3.php\';
     
   if(isset($_GET["ict"])){
       $id_category[] = "\'{$_GET["ict"]}\'";
       $variable1= new file3();
我试图包括一个部分模板,并已阅读了如何做到这一点。

<div class="row">
    <div class="col-md-12">
        <?php get_template_part(\'/partials/category.php\');
        ?>
    </div>
</div> 
我包含上述代码的文件位于主主题中。分部位于主主题中名为分部的文件夹中。当我使用/partials/category.php 我得到了一个空白,在页面中信息应该出现的区域没有PHP错误。

如果我不使用/ 在部分前面,我得到一个错误。

我还尝试删除/ 在前面,同时拆下.php 在最后。没有错误和输出的相同结果

让模板部件显示>;,我缺少什么;?

这是应该显示的空白区域enter image description here

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

你的get_template_part 调用成功,是它加载的文件被破坏了

<?php get_template_part( \'partials/category\' ); ?>
如果将该文件的内容交换为:

<p>Hello World</p>
然后它将按预期工作。

问题的原因如下:

require_once WP_PLUGIN_DIR.\'/themename/includes/file1.php\';
  • 您不应该直接包含来自其他主题的文件/WP_PLUGIN_DIR 文件夹
  • PHP找不到该文件,因此它退出时出现致命错误
    • 您应该在PHP错误日志中看到对此的确认

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?