由于其ID,以编程方式将块插入页面

时间:2019-10-08 16:20:33

标签: wordpress wordpress-gutenberg

我正在做一个主题。当管理员从站点上的现有页面中选择一个服务页面(显示所有服务的页面)时,由于该页面的ID,我想以编程方式在此页面上插入一个“服务”块。

let block = wp.blocks.createBlock( 'core/paragraph', { content: 'test' } );
wp.data.dispatch( 'core/editor' ).insertBlocks( block );

上面的代码很有趣,但是它在当前页面上插入了一个块,而我希望由于其ID而在另一个页面上

1 个答案:

答案 0 :(得分:0)

function capacity_template() {
  if( $_GET['post'] === capacity_get_option('service', 'services_page')){
    $services_page = get_post_type_object( 'page' );
    $services_page->template = [[ 'capacity/services', [], [] ]];
    $services_page->template_lock = 'all';
    return false;
  }
  [...]

}
add_action( 'init', 'capacity_template' );

上面的功能可以完成我希望做的事情……问题已解决。