首页 > 解决方案 > WP REST API 和 React Native:如何显示不在 HTML 中的内容

问题描述

简单(我很讽刺)问题:有没有办法以简单的视图或其他方式显示 wordpress 帖子的内容(REST API 返回为 HTML)?有换行,强等?

我可以做些什么来更改 API 响应或操纵 React Native 中的结果?

我查看了 WebView、https://github.com/archriss/react-native-render-html和许多其他内容。

标签: androidioswordpressreact-nativewordpress-rest-api

解决方案


一种可能的解决方法是创建一个自定义端点以将您的标记作为字符串发送,然后在客户端上对其进行解析。

这是一个端点示例,我将帖子标题映射到 h3 数组。

function postsAsHTML(){
$data = array();

$args = array(
  'post_type' => 'post',
  'posts_per_page' => '12',
);

  $posts = new WP_Query($args);
?>

<?php if ($posts->have_posts()): ?>
  <?php while ($posts->have_posts()) : $posts->the_post(); ?>
        <?php
            global $post;
            $html = "
                <div>
                    <h3>" . html_entity_decode(get_the_title()) . "</h3>
                </div>
            ";
            array_push($data, trim($html));
        ?>
  <?php endwhile; ?>
<?php endif;

return array(
    'data' => $data
);
}

// Register the rest route here.
add_action( 'rest_api_init', function () {
  register_rest_route( 'YOUR_NAMESPACE/v1', 'posts-as-html',array(
        'methods'  => 'GET',
         'callback' => 'postsAsHTML'
   ));
 });

我相信您也可以更改响应标头以直接发送降价。不管怎样,希望这会有所帮助!


推荐阅读