如何创建返回所有带有特定数据的帖子的回调函数?

时间:2019-01-25 作者:cmii

我需要创建一条新路线all 它只返回所有帖子的指定字段。

add_action( \'rest_api_init\', function () {

     register_rest_route( \'custom\', \'all\' ,array(

        \'methods\'  => \'GET\',
        \'callback\' => \'get_all\'

     ) );

} );
我需要为所有职位,他们的id,标题,链接。

我无法创建get_all 作用

function get_all ( $params ){

    $posts = get_posts( 
        array( 
            \'post_type\' => \'post\',
            \'post_status\' => \'publish\'
        )
     );


      // parse all posts and for each post returns only the specified fields

     wp_reset_postdata();

     return rest_ensure_response( $data );

}

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

建立此函数用于返回每个帖子的指定字段。

function get_all ( $params ){

     $posts = get_posts( array(
            \'offset\'      => 0,
            \'post_status\' => \'publish\'
    ) );


    if ( empty( $posts ) ) {
        return null;
    }

    $posts_data = array();

    foreach( $posts as $post ) {

        $posts_data[] = (object) array( 
            \'id\' => $post->ID, 
            \'date\'      => $post->post_date,
            \'date_gmt\'  => $post->post_date_gmt,
            \'modified\'  => $post->post_modified,
            \'title\'     => $post->post_title,
            \'content\'   => $post->post_content,
            \'category\'  => get_the_category_by_ID($post->post_category[0]),
            \'link\'      => get_permalink($post),
        );
    }

    return $posts_data;
}

相关推荐

Conditional action hooks

我正在开发一个使用AJAX的插件,但我在控制代码流方面遇到了困难。我想在运行条件后挂接函数。我的钩子在控制结构内部添加时不会启动,但在外部会启动。我还有一个触发AJAX请求的事件,这只能在用户点击触发事件后,在加载所有DOM之后发生。AJAX请求告诉PHP函数设置cookie。它设置了cookie,但在阅读关于cookie的PHP文档时,我发现它们只能在发送任何输出后设置,但我还是做到了这一点?我读过WordPress初始化序列,但这并没有帮助我解决这个问题。这是我的密码:add_action(\'wp_