在不同的服务器(ACF + Gutenberg + Timber)上没有呈现块。

问题描述 投票:0回答:1

我有一个块渲染的问题。

我使用的是连接。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.comlPpMgsj.png。 (wp-admin)

https:/i.imgur.comenq6OKA.png。 (前端)


不工作 - 相同的代码

https:/i.imgur.comRoccMVk.png (wp-admin view)

https:/i.imgur.comqOf1had.png。 (wp-admin edit)

https:/i.imgur.com7wTbw1H.png。 (前端)

php wordpress advanced-custom-fields wordpress-gutenberg
1个回答
0
投票

我不知道你是否解决了这个问题。我使用本地,我有同样的问题。

我一直使用的是。

Timber::render( get_stylesheet_directory() . "/views/block-editor/content-{$slug}.twig", $context );

但在一些服务器上不工作(和新版本5.x的本地)。

我现在用的是。

Timber::render( "block-editor/content-{$slug}.twig", $context );
© www.soinside.com 2019 - 2024. All rights reserved.