我最近在自己的WordPress实例上安装了Timber,但是每当我尝试为木材启动器运行single.php
时,都会出现以下错误:
严重错误:未捕获的错误:找不到“木材”类 www \ Website \ wp \ wp-content \ plugins \ timber-library \ timber-starter-theme \ single.php:12 堆栈跟踪:抛出#0 {main} www \ Website \ wp \ wp-content \ plugins \ timber-library \ timber-starter-theme \ single.php 在第12行
我已阅读到名称空间可能存在问题,并将其更新为Timber \ Timber。我也尝试过此操作,但得到的Timber \ Timber找不到相同的类。有趣的是,如果我在PHPStorm中打开它,则可以直接从类调用导航至该函数,以便在那里能够识别它。
有人有什么想法吗?我尝试了不同版本的PHP,不同版本的WordPress,并尝试通过WP-Admin手动安装。这些选项都不能解决此问题。 (请注意,转到此目录中的index.php
也会收到此错误)。
这是来自single.php的代码,带有添加的名称空间定义。
<?php
/**
* The Template for displaying all single posts
*
* Methods for TimberHelper can be found in the /lib sub-directory
*
* @package WordPress
* @subpackage Timber
* @since Timber 0.1
*/
use Timber\Timber;
$context = Timber::get_context();
$post = Timber::query_post();
$context['post'] = $post;
if ( post_password_required( $post->ID ) ) {
Timber::render( 'single-password.twig', $context );
} else {
Timber::render( array( 'single-' . $post->ID . '.twig', 'single-' . $post->post_type . '.twig', 'single.twig' ), $context );
}
答案 0 :(得分:0)
这似乎很琐碎,但此错误通常是由于安装错误而引起的。 如果您使用Timber作为插件,请检查它是否已激活。
如果您是通过软件包管理器安装的,请检查是否使用了正确的软件包名称composer require timber/timber
。
您也可以尝试删除软件包并重新安装。
如果一切正确,请检查您的functions.php
,这可能是因为木材实例被滥用