情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
RSET API でhtmlにワードプレスの投稿のリストを表示する例をメモしておきます。
htmlの記述
<script type="text/javascript">
jQuery(function() {
jQuery.getJSON( "~/wp-json/wp/v2/posts?per_page=5&categories=13", function(result) {
jQuery.each(result, function(i, item) {
var date_data = new Date(item.date);
var year = date_data.getFullYear();
var month = date_data.getMonth() + 1;
var day = date_data.getDate();
var category = item.category_name;
category = category.join( "/" );
jQuery('.news').append('<dt><span class="date">' + year + '.' + month + '.' + day + '</span><span class="category">' + category + '</span></dt><dd><a href="'+ item.link + '">' + item.title.rendered + '</a></dd>');
});
});
});
</script>
<dl class="news"></dl>
カテゴリーを取得する関数(テーマ関数)
add_action( 'rest_api_init', 'register_category_name' );
function register_category_name() {
register_rest_field( 'post',
'category_name',
array(
'get_callback' => 'get_category_name'
)
);
}
function get_category_name( $object ) {
$category = get_the_category($object[ 'id' ]);
for ($i = 0; $i < count($category); ++$i) {
$cat_name[$i] = $category[$i]->cat_name;
}
return $cat_name;
}
PHPの例
<?php
$url = '~/wp-json/wp/v2/posts?per_page=1';
$json = mb_convert_encoding(file_get_contents($url), 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$arr = json_decode($json,true);
?>
<?php foreach ($arr as $data):
$title = $data['title']['rendered'];
$date = date('Y.m.d', strtotime($data['date']));
$link = $data['link'];
?>
<div class="news_text">
<span class="date"><?php echo $date; ?></span>
<a href="<?php echo $link; ?>"><?php echo $data['title']['rendered']; ?></a>
</div>
<?php endforeach; ?>