cocoonフック調査~amazon_webservices_regionの使い方と活用例
タナビーの高梨です。
WordPressのテーマ「Cocoon」には、テーマ改変なしでデザインや動作を拡張できる豊富なアクション・フィルターフックが用意されています。
分かる範囲で内容を調査したのでブログにまとめていこうと思います。
今回はamazonショートコード使用時に利用しているAWSのリージョンを変更できるフィルターフック
👉amazon_webservices_region
です
フックの概要
| フック名 | 発火タイミング |
|---|---|
| amazon_webservices_region | 「amazon]ショートコード展開時 |
発火条件
「amazon」のショートコード描画時に無条件に発火します。
使いどころ
cocoonのamazonショートコードを使用すると、Amazon商品リンクを自動生成できます。
この際、商品情報取得のために外部アクセスが行われており、その通信にAWS(Amazon Web Service)が利用されています。
デフォルトではアクセスリージョンは次の値が設定されています。
us-west-2
amazon_webservices_regionを利用すると、このリージョン名を編集することができます。
ただし、通常のサイト運用ではこの値を変更する必要性が思い浮かびません。
以下のような特殊ケースで意味を持つ可能性があります。
・特定リージョンでの接続制限を回避したい
・AWS環境との整合性や最適帰化を検証したい
いずれにしても限定的な用途になると思われます。
引数
$region:(string)リージョン名
apply_filters呼び出し元のソースコード
lib/shortcodes-amazon.php
$region = __( 'us-west-2', THEME_NAME );
$region = apply_filters('amazon_webservices_region', $region);
カスタマイズコード例
リージョン名を「ap-northeast-1」に変更する例です。
function customize_amazon_webservices_region ( $region) {
$region = 'ap-northeast-1';
return $region;
}
add_filter('amazon_webservices_region', 'customize_amazon_webservices_region' );
注意点
・WSリージョンを誤って設定すると通信エラーが発生する可能性がある
・通常運用では変更不要なケースがほとんどと思われる
まとめ
・amazon_webservices_region は、Amazonショートコードが利用するAWSリージョンを変更できるフィルターフック
・利用場面は限定的で、特殊な通信環境や検証目的において活用できると思われる