使用WordPress API的侧栏终结点

时间:2021-01-12 作者:user8463989

我找不到这方面的任何信息。侧栏是否有默认端点?

例如页面:

http://localhost:8888/example/wp-json/wp/v2/pages
我看过WordPress API文档,但没有看到侧栏或小部件的任何端点。

我也尝试过这样的基本方法:

function sidebar_api( $data ) {
    
    $response_body = get_sidebar(\'one\');
    return new WP_REST_Response(
        array(
            \'body_response\' => $response_body
        )
    );
}

add_action( \'rest_api_init\', function () {
    register_rest_route( \'custom/v1\', \'sidebar1\', array(
        \'methods\'  => \'GET\',
        \'callback\' => \'sidebar_api\',
    ) );
} );
这给了我一个非json格式的提要栏,然后是一个带有空body\\u响应的json响应。

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

侧栏是否有默认端点?

不,我想没有。因此(就目前而言),使用自定义RESTAPI端点对我来说确实是一个不错的选择。

给我一个非json格式的提要栏,然后是一个带有空body_response

那是因为get_sidebar() 回显输出,因此$response_body 为空。

因此,您应该像这样使用输出缓冲:

ob_start();
get_sidebar( \'one\' );
$response_body = ob_get_clean();