Ionic wordpress“REST API”wpbackery页面生成器和离子

iovurdzv  于 2022-12-09  发布在  Ionic
关注(0)|答案(1)|浏览(146)

我请求的内容从WordPress网站与wpcackery页面生成器通过REST API在离子应用程序,但我有一个问题:由“VisualComposer”创建的内容如下所示:

我怎样才能提取内容,只得到文本和图像,可能吗?

c86crjj0

c86crjj01#

你需要在WordPress端写代码,function.php
例如,您可以通过将以下代码添加到function.php(将另一个键添加到名为htmlcontent的响应),将另一个键添加到从API调用返回的响应中:

add_action( 'rest_api_init', function () {
   register_rest_field('page', 'htmlcontent', array(
      'get_callback'    => 'page_do_shortcodes',
      'update_callback' => null,
      'schema'          => null,
   ));
});

function page_do_shortcodes( $object, $field_name, $request ) {
   WPBMap::addAllMappedShortcodes();
   global $post;
   $post = get_post ($object['id']);
   $output['rendered'] = apply_filters( 'the_content', $post->post_content );
   return $output;
}

或者,您可以重写从API返回的原始密钥,即content密钥:
(* 注意:与上面显示的代码相比,唯一的更改是传递给register_rest_field函数的第二个参数 *)

add_action( 'rest_api_init', function () {
   register_rest_field('page', 'content', array(
      'get_callback'    => 'page_do_shortcodes',
      'update_callback' => null,
      'schema'          => null,
   ));
});

function page_do_shortcodes( $object, $field_name, $request ) {
   WPBMap::addAllMappedShortcodes();
   global $post;
   $post = get_post ($object['id']);
   $output['rendered'] = apply_filters( 'the_content', $post->post_content );
   return $output;
}

相关问题