在 WordPress 最佳实践中管理内容

Managing Content in WordPress Best Practices

问题,求教。我正在努力总结如何正确管理 WordPress 中的内容。

过去我一直使用自定义字段,ACF,CMB2。

古腾堡有一些不错的地方。我也可以接受 html 输出。最大的好处似乎是可以多快地创建内容。不客气。

最重要的是:它仍然在数据库中存储 HTML 的内容。 REST 也无济于事。做同样的原因。

自定义字段使内容保持整洁。便于提取、拾取和移动。如果块编辑器存储其中一个,那将很有趣;干净的内容,或者可以在块中呈现 CF。 (简码是有限的,不是内容创建者精明的东西)。

那么在您的 opinion/experience 中,什么是好的前进方向(使用 WP)?

提前致谢!

It would be interesting if the block editor stored either; clean content, or could render CF in the blocks.

好吧,你别担心,发光的公主!您实际上可以像 123 一样简单地从块中提取内容!

您可以循环遍历特定块块类型,而不是像通常那样循环遍历整个内容。

设置 class,例如,使您能够定位特定块。

然后您可以使用 parse_blocks().

循环遍历该块
//...
blocks = parse_blocks( get_the_content() );
foreach ( $blocks as $block ) :
    if ( $block['attrs']['className'] == 'myawesomeclass' ) :
            echo wp_strip_all_tags( render_block( $block ) );
    endif;
endforeach;

但是等等!那不是我亲爱的随机互联网朋友! 下一部分是为什么古腾堡真的很棒(没有错误)。

您可以在注册自定义 post 类型时使用 templatetemplate_lock 参数。

一个简短的例子是……

<?php
$args = [
    //...
    'template_lock' => 'all',
    'template' => [
        [ 'core/paragraph', [ 'className' => 'myawesomeclass', ] ],
        [ 'core/file' ],
        //...
    ],
    //...
];
register_post_type( $post_type, $args );
?>

两者结合……令人惊叹。现在,我猜你真的很想 this.