运行wooder-starter-theme

时间:2019-02-11 23:24:12

标签: php wordpress web timber

我最近在自己的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 );
}

1 个答案:

答案 0 :(得分:0)

这似乎很琐碎,但此错误通常是由于安装错误而引起的。 如果您使用Timber作为插件,请检查它是否已激活。

如果您是通过软件包管理器安装的,请检查是否使用了正确的软件包名称composer require timber/timber

您也可以尝试删除软件包并重新安装。

如果一切正确,请检查您的functions.php,这可能是因为木材实例被滥用