在php中获取可重用块
Posted
技术标签:
【中文标题】在php中获取可重用块【英文标题】:Get reusable block in php 【发布时间】:2019-08-18 07:37:32 【问题描述】:对于我的生活,我找不到任何关于如何做到这一点的信息:只需在主题模板中通过 php 输出一个可重用的古腾堡块。似乎应该是可行的。有人吗?
【问题讨论】:
【参考方案1】:As pointed out by gtamborero here,你可以使用get_page_by_title(),但是你需要指定这是一个'wp_block'。他的例子对我有用(使用 WP 5.8.1):
get_page_by_title( 'Your Title', OBJECT, 'wp_block' );
我是这样使用的:
$myPost = get_page_by_title( 'Your Title', OBJECT, 'wp_block' );
$myContent = apply_filters('the_content', $myPost->post_content);
echo $myContent;
【讨论】:
【参考方案2】:我刚刚发现了这个方便的小 sn-p。它将可重用块添加为管理链接。在那里,您可以轻松确定所需的可重用块的 ID。 https://github.com/WordPress/gutenberg/issues/15549
add_menu_page( 'linked_url', 'Reusable Blocks', 'read', 'edit.php?post_type=wp_block', '', 'dashicons-editor-table', 22 );
【讨论】:
非常感谢!我不知道为什么 Wordpress 默认没有启用此功能。【参考方案3】:可能会回答我自己的问题。请告诉我是否有更好/更简单的方法来做到这一点。
<?php
// get reusable gutenberg block:
$gblock = get_post( 7418 );
echo apply_filters( 'the_content', $gblock->post_content );
?>
我能看到的第一个缺点是,必须查找块的帖子 ID 很不方便。
【讨论】:
如何找到可重用块的 ID? 我知道的唯一方法是去这里:/wp-admin/edit.php?post_type=wp_block 然后将鼠标悬停在您的块的编辑链接上并查看 URL 中的 ID。跨度> @protohominid 获取gutenberg块(不是ID,内容本身)应该更容易,我也花了很多时间寻找直接的解决方案,没有办法...... site.com/wp-admin/edit.php?post_type=wp_block 我同意。我想要一个使用 get_page_by_title() 之类的解决方案,因为将主题移动到新站点时 ID 会发生变化。以上是关于在php中获取可重用块的主要内容,如果未能解决你的问题,请参考以下文章