我通過「REST API V2」插件向WordPress請求內容。這很好。還剩下一個問題:由「VisualComposer」插件創建的內容不會在de REST響應中呈現。WordPress「REST API」 - 渲染VisualComposer內容
的迴應是:
[vc_row]Hello World . . .[/vc_row]
的反應應該是:
<div class="row">Hello World . . .</div>
如何才能實現這一目標? 謝謝?
我通過「REST API V2」插件向WordPress請求內容。這很好。還剩下一個問題:由「VisualComposer」插件創建的內容不會在de REST響應中呈現。WordPress「REST API」 - 渲染VisualComposer內容
的迴應是:
[vc_row]Hello World . . .[/vc_row]
的反應應該是:
<div class="row">Hello World . . .</div>
如何才能實現這一目標? 謝謝?
我已經通過使用另一個REST插件(JSON API)解決了這個問題。這個插件按預期呈現響應。 VisualComposer簡碼現在用HTML格式。
我認爲你可以用WP REST API V2在這裏找到答案:https://github.com/WP-API/WP-API/issues/2578
下面的例子是從上面的鏈接採取(謝謝你,bradmsmith!)
下面是一個例子,如何呈現在文章的內容的VC簡碼:
add_action('rest_api_init', function()
{
register_rest_field(
// if you need it to work with other (even custom post) types,
// then you have to use an array:
// array('page', 'post', 'custom_post_type', 'etc')
// this example only does the trick for 'page'
// look at the link in the first EDIT section of this answer
'page',
'content',
array(
'get_callback' => 'compasshb_do_shortcodes',
'update_callback' => null,
'schema' => null,
)
);
});
function compasshb_do_shortcodes($object, $field_name, $request)
{
WPBMap::addAllMappedShortcodes(); // This does all the work
global $post;
$post = get_post ($object['id']);
$output['rendered'] = apply_filters('the_content', $post->post_content);
return $output;
}
編輯
這裏是鏈接的register_rest_field()功能:插件,你用什麼register_rest_field()
請問? –
我不再使用該接口,但我認爲它必須可以使用wordpress REST服務。 – mittererr