このショートコードを使うと、指定した複数のサイトから投稿を取得し、混合した上で日付順に並び替えて表示させることができます。
ショートコードの種類により、以下のリストを作成できます。
- アイキャッチ画像付き(カード形式)のリスト
- アイキャッチ画像なし(単純な形式)のリスト
ショートコードの使い方
アイキャッチ画像付きショートコード
ショートコード
以下のショートコードを使ってアイキャッチ画像付きのリストを表示できます。
[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」に指定して保存するとキャッシュがクリアされ、更新されます
表示サンプル
ショートコード使用時の注意事項
本ショートコードを使用する上での注意点です。
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でキャッシュなし)にすることで、より最新に近いデータを取得して表示させることができます。
ただし、前述したようにキャッシュ期間を減らすことで、表示させる側、取得される側のサーバーに負荷がかかることは間違いないのでご注意ください。
コメントを残す