从WordPress REST API获取原始HTML输出

时间:2016-02-16 12:06:43

标签: php json wordpress api rest

我正在使用WordPress REST API在外部应用程序中获取WordPress页面的HTML内容。我正在调用这个mysite / wp-json / wp / v2 / pages / 10并返回:

"content": {
  "rendered": "[vc_column_text]Hello World[/vc_column_text]"
}

有没有办法在其最终的HTML输出中返回代码,而没有[vc_]短代码,例如:<p>Hello World</p>

短代码来自Visual Composer page builder plugin

2 个答案:

答案 0 :(得分:1)

聚会晚了大约2年,以下对我有用:

$output['rendered'] = apply_filters( 'the_content', get_the_content() );

以防万一有人想知道。

答案 1 :(得分:0)

在此处找到并回答:https://github.com/CompassHB/web/issues/67#issuecomment-245857301

以下示例来自上面的链接:

/**
 * Modify REST API content for pages to force
 * shortcodes to render since Visual Composer does not
 * do this
 */
add_action( 'rest_api_init', function ()
{
   register_rest_field(
          '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;
}