古腾堡块获取最近的页面

Gutenberg block get recent pages

基于 dynamic block example 检索最近的帖子块,我正在尝试创建一个检索页面的块。

在 php 服务器组件中我更改了:

$recent_posts = wp_get_recent_posts( array(
    'numberposts' => 1,
    'post_status' => 'publish',
) );

至:

 $recent_posts = get_pages( array(
    'post_type' => 'page',
    'post_status' => 'publish'
) );

并获取 php 错误日志:

Fatal error: Uncaught Error: Cannot use object of type WP_Post as array in mysite....:24

  1. render_block_latest_pages(Array, '') /mysite/wp-content/plugins/gutenberg/lib/class-wp-block-type.php:108
  2. WP_Block_Type->render(Array, '') /mysite/wp-content/plugins/gutenberg/lib/blocks.php:238
  3. do_blocks('') /mysite/wp-includes/class-wp-hook.php:286
  4. WP_Hook->apply_filters('
  5. apply_filters('the_content', '
  6. the_content() /mysite/themes/bt-sass-blank-theme/template-parts/page/content-default.php:7

我也尝试了一个普通的查询,但它不起作用。 Gutenberg 使用 Wordpress REST API,不确定那里是否存在问题。

wp_get_recent_posts returns an array of post arrays by default, while get_pages returns 和页面对象数组。如果您逐字使用链接示例,则需要将 $post_id = $post['ID'] 替换为 $post_id = $post->ID