• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

ハイファイブクリエイト

東京都を拠点にしたWebサイト制作。WordPress構築やシステム構築、ウェブコンサルティング

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / WP REST APIを使って静的HTMLページにWordPressの投稿情報を表示する

WP REST APIを使って静的HTMLページにWordPressの投稿情報を表示する

池田祐太郎 | 2018年12月15日 更新 | 2017年12月2日 公開

WordPress4.7でプラグイン利用だったREST APIがコアに組み込まれ、4.7以上のバージョンでは特に設定せずとも使えるようになりました。

WP REST APIでできることは例えば以下のようなことです。

  • WordPress記事や固定ページ等の情報にアクセスできる
  • アクセスした情報を表示することはもちろん、表示したページ側から投稿、更新、削除といった実行が可能
  • PHPを利用せずにJavaScript(JSON形式)で扱える!

記事の投稿や更新、削除といった記事側へアクセスが必要な場合はOAuth認証やBasic認証などで認証させる必要があります。
また、以前のプラグインだったバージョンとコアに組み込まれたバージョンで仕様が変わっており、ウェブ上の情報も古いものが結構あったりしてデモが動いてなかったりするので、実際に触って見るときにはリファレンスを参考にしたほうが良さそうです。

WP REST API v2 Documentation

WP REST APIの詳しい説明はたくさんの方がわかりやすく説明しているページがありますので、そちらを参考ください。

WP REST APIを使ってWordpressをAPI化してみよう! | バックエンドへの道
WordPress が REST-API をベースにしたエディターとカスタマイザーの開発プロジェクトを開始 – Capital P

目次

  • 1 静的HTMLからWordPressの情報を取得して表示したい
    • 1.1 とりあえず作ってみた
    • 1.2 課題は表示速度とSEO
  • 2 最後に

静的HTMLからWordPressの情報を取得して表示したい

今回やりたいのは、「WordPress関係なく、静的なHTMLページでPHPを利用せずに、WordPressで投稿された記事一覧を取得する」ということです。

これが実現できれば何がいいのかというと、「WordPressは記事の管理として利用し、投稿した記事の取得と表示等は別に管理ができる」となり、

  • WordPressは記事管理のためのツール
  • 訪問者がアクセスするページはWordPressではないページ
  • つまり、システム(WP)とフロント(訪問者が閲覧するサイト)が区分けできる

というメリットがあります。例えばセキュアな環境にWordPressを設置しておき、実際のサイトと区別することでセキュリティ対策を行いながらWordPressというCMSを利用できるといういいとこ取りな使い方も可能です。

とりあえず作ってみた

以下がサンプルページです。

WP REST API 取得デモ

(REST APIの仕様が変わっていなければ)ローディングが表示されたあとに各記事が表示されるはずです。
動かないときのためにGIFアニメも貼っておきます。

また、以下にJS Fiddleに公開したのでJS, HTML, CSS等ソースコードはご参考ください。

コーディングはBootstrap v4, ローディングアイコンはFontAwesome, JSONデータの扱いはjQueryを利用しました。

追記: WordPressのバージョンは4.9.1です。

今回のサンプルでは「詳細を見る」をクリックすると元記事に遷移していますが、SPA(シングルページアプリケーション)で作る前提で、ページ遷移無しに各記事をクリックするとコンテンツを入れ替えるなどで制作が可能です。

また、Advanced Custom FIeldsなどでカスタムフィールドの情報を取得する場合はACF to REST APIというプラグインが必要だったり、アイキャッチ画像やカテゴリ情報とタグ、前後の記事情報等REST APIに含まれていない情報はアクションフックやフィルターフック等で追加して上げる必要があります。こちらの記事が参考になります。

WP REST APIをシングルページアプリケーションで使うためにいろいろカスタマイズしてみた | それいけ!フロントエンド

課題は表示速度とSEO

WP REST APIとても便利で夢が広がりますが、記事取得に少々時間がかかります。サンプルではテキスト情報のみですが、画像やアイキャッチ画像を取得表示する場合はより時間がかかります。REST API用のキャッシュを有効にして速度向上させるプラグインもあり、表示速度はこれから解決されることが期待されます。

また、個別ページがあるわけではないのでSEOには強くありません。現状では、アプリケーション内でウェブデータを引っ張ってくる、RSSの代わりに利用する等が現実的なところでしょうか。

最後に

以上、簡単なサンプルですがHTMLからWordPress情報を取得して表示するというデモでした。

WP REST APIを利用すれば投稿、固定ページ以外にもカスタム投稿タイプやカスタムフィールドの取得も可能なため、本格的にWordPressを管理のためのツールとして利用できるようになりました。

WordPressは初めて触れてから8年位経ちますが、その進化は止まること無く益々便利に機能的になっているツールです。4.7でREST APIがコアへ組み込まれ、2019年にはバージョン5となりGutenbergという新しいエディタ方法も公開予定で、しばらく目が離せなそうです。

今回の制作にあたって参考させていただいた記事:

WP REST APIでの情報の取得と表示・使い道について | ソフプラント

WordPress REST API を試してみる(前編: まずは取得から) | クラウドット株式会社

WP REST APIの検証とWordPressのテーマへの組込 | in-Pocket インポケット

WordPressサイト構築

カテゴリー:TIPS, WordPress タグ:WordPressカスタマイズ

池田祐太郎

Webディレクター、フロントエンドエンジニア、ハイファイブクリエイト代表。音楽は聴くのも弾くのも好き。マイギターはFender American Vintage StratrocasterとGibson J-45。SNS: Twitter, Facebook

この記事と関連する記事

フレームワークを使ってWordPressサイトをリニューアルしたら表示速度が速くなった話
2018年6月4日
タグ: Webサイト高速化, WordPressカスタマイズ
カテゴリー: WordPress, ホームページ制作, モバイル
WP固定ページや投稿内でphpファイルを読み込むショートコード
2018年4月1日
タグ: WordPressカスタマイズ
カテゴリー: TIPS
一覧ページ等で、アイキャッチ画像がなかったら一番目の画像を取得し、さらに画像がなかったら定義した画像を表示するカスタマイズ方法
2018年3月22日
タグ: WordPressカスタマイズ
カテゴリー: TIPS

Primary Sidebar

WordPress保守管理サポート

Search

最近の投稿

  • WordPressを使って構築された整体院13サイトを解説
  • WordPress保守管理サービスを開始
  • 2019-2020年末年始の営業のご案内
  • Smush Proのインストールと設定方法
  • WordCamp Tokyo 2019に参加してきました(大阪も)

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

Android BtoC Chrome CMS css Fireworks Google+ HTML Illustrator iOS iPhone jQuery Mac mixi Photoshop初心者 php SEO SNS Webサイト高速化 WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 お知らせ アクセス解析 アプリ カスタマイズ カフェ クラウド スマホサイト スマートフォン ソーシャル ツール フラットデザイン ブログ プラグイン マーケティング ライフログ リニューアル 休業日 保守管理 制作のご依頼 最適化 集客するサイト構築 飲食店

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 転載・引用について
  • Facebook

© 2019 high five create All rights reserved.