Я мигрирую и устраняю неполадки в теме WordPress. У меня есть блок Гутенберга и модуль оповещения, настроенный для использования пакета Timber composer, который позволяет использовать шаблонизатор веток.
Я настроил его в классе
ProcessorTable. php
<?php
namespace CRG\Blocks;
class ProcessorTable
{
public function __construct()
{
$this->createProcessorTable();
}
public function createProcessorTable()
{
if (function_exists('acf_register_block')) {
// register a custom vue gravity forms block
acf_register_block(array(
'name' => 'processor-table-block',
'title' => __('Processor Table Block'),
'description' => __('A Block for displaying a contracted database processors table'),
'category' => 'crg-custom-blocks',
'icon' => 'welcome-write-blog',
'render_callback' => array($this, 'render_processor_table'),
'keywords' => array( 'table' ),
));
}
}
public function render_processor_table($block, $content = '', $is_preview = false)
{
$context = \Timber\Timber::context();
// Store block values.
$context['block'] = $block
// Store field values.
$context['fields'] = get_fields();
// Store $is_preview value.
$context['is_preview'] = $is_preview;
$twigPath = TEMPLATEPATH . "/src/views/blocks/block-processor-table.html.twig";
\Timber\Timber::render($twigPath, $context, 600);
}
}
AlertNotification. php
<?php
namespace CRG\Controllers\SiteWide;
class AlertNotification {
public function AlertModal(){
$context = \Timber\Timber::context();
$context['alert_header_text'] = get_field('alert_header_text', 'options');
$context['alert_text'] = get_field('alert_text', 'options');
$context['alert_icon'] = get_field('alert_icon', 'options');
$context['alert_color'] = get_field('alert_color', 'options');
$context['alert_toggle'] = get_field('alert_toggle', 'options');
\Timber\Timber::render( TEMPLATEPATH . "/src/views/sitewide/alert-modal.html.twig", $context );
}
}
этот код работал на сервере cpanel и на nexcess управлял хостингом WordPress, но когда я перенес его на kinsta, код прекратил рендеринг. Похоже, что Timber :: context () работает, и метод может найти файлы html .twig, но он не может отобразить шаблон ветки и не выдает ошибок
Я пытался устранить эту проблему проверяя версии пакета composer, переустанавливая пакет timber composer, проверяя код вне класса непосредственно в файле functions. php и проверяя, что код может достичь и вывести содержимое файла в виде строки. Я проверил файлы журнала ошибок и не смог найти решение или причину ошибки.
Конфигурация хостинга: Кэширование Kinsta: отключено Отладка Wordpress включена Запуск на PHP 7.4 Использование MySQL