我正在使用RESTAPI在WordPress之外发布帖子,遇到了一个问题,我的所有短代码都没有得到处理。具体来说,我的大多数插件的短代码都在处理中,但visual composer中的任何内容都没有转换为HTML。我发现,如果我在WordPress站点本身的前端var\\u转储REST API的post数据函数(空白主题,主题字面上是“var\\u dump this function”),VC的短代码就会得到处理。
我不确定我在这里做错了什么,但下面是我的REST API返回代码:
function return_page_single( WP_REST_Request $request ) {
$page_id = $request->get_param( \'page\' );
$args = array(
\'id\' => $page_id,
\'post_type\' => \'page\',
\'posts_per_page\' => 1
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
$page = $query->posts;
$page_content = $page[0]->post_content;
$page_content = apply_filters( \'the_content\', $page_content );
$page_content = do_shortcode( $page_content );
$page[0]->post_content = $page_content;
$query_return[\'page\'] = $page;
$query_return[\'query\'] = $query->query;
}
wp_reset_postdata();
return $query_return;
}
如果我转储REST API结果的内容,我会得到VC的短代码,但其他一切都会处理。
如果我在主题中放置以下内容:
var_dump( return_page_single( $request ) );
我得到了经过充分处理的帖子内容。
我没有一个实例,因为这是内部开发的,但如果它有助于解决问题,我可能可以设置一些东西。