Класс «Древесина» не найден при запуске темы «лесоматериалы» - PullRequest
0 голосов
/ 12 февраля 2019

Я недавно установил Timber на свой экземпляр WordPress, но всякий раз, когда я пытаюсь запустить single.php для wood-starter, я получаю следующую ошибку:

Неустранимая ошибка: Uncaught Error: Class 'Древесина 'не найдена в 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.Я попробовал это также и получить тот же самый класс, не найденный для Древесины \ Древесины.Интересно, что если я открою ее в 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 голосов
/ 31 марта 2019

Это должно показаться тривиальным, но эта ошибка обычно вызвана неправильной установкой.Если вы используете Timber в качестве плагина, проверьте, активирован ли он.

Если вы установили через менеджер пакетов, убедитесь, что вы использовали правильное имя пакета composer require timber/timber.

Вы также можетепопробуйте удалить ваш пакет и переустановить его.

Если все правильно, проверьте ваш functions.php, возможно, существует злоупотребление экземпляром Timber

...