如何使定制邮寄类型的帖子成为古登堡的模式?

时间:2021-11-20 作者:D_P

我已创建自定义帖子类型ml_patterns_. 现在,我想使用每个帖子作为单独的古腾堡块模式。为此,我创建了以下内容:

$args = array(  
    \'post_type\' => \'ml_patterns_\',
    \'post_status\' => \'publish\',
    \'posts_per_page\' => 9999, 
    \'orderby\' => \'title\', 
    \'order\' => \'ASC\', 
);

$loop = new WP_Query( $args ); 
    
while ( $loop->have_posts() ) : $loop->the_post();

    add_action( \'init\', function() {
        $title = __( get_the_title(), \'ml_patterns\' ); // post\'s name is the title of the pattern (label)
        $titleSlug = \'ml_patterns/ml_pattern_\'.get_the_ID(); // post\'s slug is the name of the pattern
        $patternContent = get_the_content(); // the post content as pattern content
        register_block_pattern(
            $titleSlug,
            array(
                \'title\'       => $title,    
                \'content\'     => trim($patternContent),
                \'categories\'  => array( \'ml_test\' ),
            )
        );
    });

endwhile;

wp_reset_postdata();
工作很好,但我只使用一种模式,即使有多个帖子。我的错在哪里?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

使用单个init 操作的回调,整个循环都在其中,以确保范围和执行顺序正确。

相关推荐