WP REST API и React Native: как показывать контент не в HTML - PullRequest
0 голосов
/ 15 февраля 2019

Простой (я саркастический) вопрос: есть ли способ отобразить СОДЕРЖАНИЕ поста WordPress (который REST API возвращает в виде HTML) в простом View или что-то еще?С разрывом строки, сильным и т. Д.

Что я могу сделать, чтобы изменить API RESPONSE или манипулировать результатом в React Native?

Я смотрел на WebView, https://github.com/archriss/react-native-render-html и многое другое.

1 Ответ

0 голосов
/ 17 апреля 2019

Возможный обходной путь - создать пользовательскую конечную точку для отправки разметки в виде строки, а затем проанализировать ее на клиенте.

Вот пример конечной точки, в которой я сопоставляю заголовки своих сообщений смассив 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'
   ));
 });

Я уверен, что вы также можете изменить заголовок ответа, чтобы отправлять уценку напрямую.Несмотря на это, надеюсь, это поможет!

...