【发布时间】:2020-02-02 15:44:01
【问题描述】:
我遇到了块渲染问题。
我使用连接:ACF + Timber + Gutenberg。
在 localhost 上创建块不是问题,所有内容都显示在 wp-admin 端和前端端(在 Linux、PHP 7.219、nginx 上创建)
在 Windows + 最新的 XAMPP (PHP 7.39, apache) 上安装测试后,结果发现这些块没有呈现(在 wp-admin 和前端站点上都看不到它们)。
这就是为什么我把它放在 Raspberri Pi (PHP 7.120, apache) 上并且它可以正常启动。我想这可能是 Windows 和一些服务器设置的问题。但是,当安装在普通的 Web 服务器(Linux、PHP 7.0.33、apache)上时也不起作用。
有没有人知道块没有被渲染的原因是什么?
在下面的函数中根本不进入回调(text_block_render_callback),但是注册块有效。
add_action('acf/init', 'register_block_text');
function register_block_text() {
acf_register_block(array(
'name' => 'text',
'title' => ('Tekst', 'ABC'),
'description' => ('Moduł zwykłego tekstu', 'ABC'),
'render_callback' => 'text_block_render_callback',
'category' => 'test-blocks',
'icon' => 'edit',
'keywords' => array('blog'),
'mode' => 'edit',
'enqueue_assets' => function() {
wp_enqueue_style( 'block-text', get_stylesheet_directory_uri() . '/dist/blocks/text/text.css');
}
));
}
function text_block_render_callback($block, $content = '', $is_preview = false)
{
$context = Timber::context();
$context['block'] = $block;
$context['fields'] = get_fields();
$context['is_preview'] = $is_preview;
Timber::render(TEMPLATEPATH . '/views/blocks/text/text.twig', $context);
}
工作 - 相同的代码
https://i.imgur.com/lPpMgsj.png (wp-admin)
https://i.imgur.com/enq6OKA.png(前端)
不工作 - 相同的代码
https://i.imgur.com/RoccMVk.png (wp-admin / 查看)
https://i.imgur.com/qOf1had.png(wp-admin/编辑)
【问题讨论】:
标签: php wordpress advanced-custom-fields wordpress-gutenberg