複数サイト混在の新着情報を表示させるショートコードの使い方

公開日:2024(令和6)年9月24日/最終更新日:

WordPress plugin Hima Art UtilityWordPress Customize Ideas | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



このショートコードを使うと、指定した複数のサイトから投稿を取得し、混合した上で日付順に並び替えて表示させることができます。

ショートコードの種類により、以下のリストを作成できます。

  • アイキャッチ画像付き(カード形式)のリスト
  • アイキャッチ画像なし(単純な形式)のリスト

ショートコードの使い方

アイキャッチ画像付きショートコード

ショートコード

以下のショートコードを使ってアイキャッチ画像付きのリストを表示できます。

[ha-latest-posts-with-thumbnails sites="" number="" order_by="" display_count="" cache_time="" datetext="" des="" offset="" size="" column=""]

以下がショートコード内のパラメーターと説明ですので適切に設定してください。

パラメーター説明省略した場合の値
sites情報を取得するサイトのトップページURLを「,」区切りで指定します
※URL末尾の「/」はなしにしてください
自サイト
number各サイトから取得する情報の数を指定します5
display_count表示させる数を指定します
※サイト数x取得数がこの値よりも大きくなるようにします
5
order_by「公開日(date)」「更新日(modified)」のどちらで並び替えるかを指定しますmodified
cache_time取得した情報を一時保存する期間を秒単位で指定します3600
datetext日付の接頭辞を文字列(0または空白)にするか、アイコン(1)にするかを指定しますなし(文字列)
des抜粋を表示する場合は1を指定しますなし(抜粋表示なし)
offset先頭から〇番目からの情報を表示させたい場合に指定しますなし(すべて)
sizeカードの形態を指定します
空白または「small」/小画像カード
「large」/大画像カード
※モバイルでは設定に関わらず大画像カードで表示されます
small
columnカード表示させる列の数を指定します
※4列表示まで対応しています
1

パラメーターの値を変更しても表示に反映されない場合は「cache_time」を一旦「0」に指定して保存するとキャッシュがクリアされ、更新されます

表示サンプル

大カードで最終更新日を基準に2列表示させた場合の表示サンプルです

小カードで公開日を基準に2件表示させた場合のサンプルです

アイキャッチ画像なしショートコード

ショートコード

以下のショートコードを使ってアイキャッチ画像なしのリストを表示できます。

[ha-latest-posts-simple sites="" number="" order_by="" display_count="" cache_time="" datetext="" des="" offset=""]

以下がショートコード内のパラメーターと説明ですので適切に設定してください。

パラメーター説明省略した場合の値
sites情報を取得するサイトのトップページURLを「,」区切りで指定します
※URL末尾の「/」はなしにしてください
自サイト
number各サイトから取得する情報の数を指定します5
display_count表示させる数を指定します
※サイト数x取得数がこの値よりも大きくなるようにします
5
order_by「公開日(date)」「更新日(modified)」のどちらで並び替えるかを指定しますmodified
cache_time取得した情報を一時保存する期間を秒単位で指定します3600
datetext日付の接頭辞を文字列(0または空白)にするか、アイコン(1)にするかを指定しますなし(文字列)
des抜粋を表示する場合は1を指定しますなし(抜粋表示なし)
offset先頭から〇番目からの情報を表示させたい場合に指定しますなし(すべて)

パラメーターの値を変更しても表示に反映されない場合は「cache_time」を一旦「0」に指定して保存するとキャッシュがクリアされ、更新されます

表示サンプル

QA Analytics QA Analytics

ショートコード使用時の注意事項

本ショートコードを使用する上での注意点です。

REST APIに制限のかかっているサイトからの情報は取得できません

このショートコードでは、REST APIというWordPressの情報共有機能を利用して、サイトの投稿データを取得します。

従って、何等かの方法(セキュリティ系のプラグインやカスタムコード)によってREST APIを通じた情報の取得を遮断しているサイトでは利用できません。

ショートコードを挿入し、適切に設定を行ってもリストが表示されない(またはエラーが吐き出される)場合には、取得元のサイトでREST APIが遮断されていないかを確認ください(よく分からない場合はこのショートコードを使用しないでください)。

エラーや不具合等が発生する可能性について

本機能およびHima Art Utilityプラグイン全般に言えることですが、あくまでも私の管理するサイトでテストしたものであり、サイトの状態(作り方)により情報が取得できない場合にはエラーが出る可能性があります。

一応以下のようにエラー回避をするようにはしています。

  • sitesパラメーターが空の場合は自サイトのホームURLが取得されるようにしています
  • 一部のパラメーターがショートコード上になくてもデフォルト値がセットされるようにしています
  • 大カード時にアイキャッチ画像を取得する際には、まず「large」サイズの画像を取得するようにし、そのサイズの画像が存在しない場合には「medium」サイズの画像が取得されるようにしています
  • スタイルが調整しにくいことと、普通に考えてあまり多くの列数に対応させる必要はないと判断し、列数の指定は4までとし、5以上の数が指定された場合には1列として表示させるようにしています

スタイルについては、ブロックテーマであるTwenty Twenty Threeテーマ、およびそれをフォークしたテーマで本文幅をいくつか変えてチェックをしていますが、同一テーマや別のテーマ(特にクラシックテーマ)では、うまく表示されない場合があります。

データベースキャッシュについて

REST APIではこのショートコードが含まれたページを表示する度に、指定されたサイトから指定数分の情報を取得します。

これにより、ショートコードに指定したサイトの数分だけこの作業が繰り返され、取得元および表示するサイトの状態(サーバーの状態や性能など)によっては表示までに時間がかかったり、エラーとして処理がストップしてしまうことがあります。

本ショートコードでは、一度取得したデータをある程度の期間データベース内に保存し、期間内は保存したデータを元に表示させるようにすることで、表示時間の短縮を図っています(何も指定しなければ3600秒 = 60分)。

表示速度を犠牲にしてまで最新の情報を常時取得したいというケースは少ないとは思いますが、「cache_time」パラメーターをより少ない数字(または0でキャッシュなし)にすることで、より最新に近いデータを取得して表示させることができます。

ただし、前述したようにキャッシュ期間を減らすことで、表示させる側、取得される側のサーバーに負荷がかかることは間違いないのでご注意ください。



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress plugin Hima Art UtilityWordPress Customize Ideas | Personal WP Customization Notes (PWCN)
各種ショートコードの使い方