概要
$atts
を受取れるようにします
環境
- macOS 14.6.1
- MySQL 9.0
- Wordpress 6.6.1
- docker 27.2.0
functions.php
function say($atts) {
/** デフォルト値の設定
* shortcode_atts を使うことでショートコードにkey,valueな属性を付与することができる
* 以下では message という属性を定義している
* ショートコード側の引数で message=hoge という引数が与えられるとそれが優先される
* extract は与えられた連想配列から変数を生成するPHPの組み込み関数
*/
extract(shortcode_atts(array(
'message' => 'Hello'), $atts));
return $message;
}
add_shortcode( 'say_something', 'say' );
動作確認
ショートコードを生成し message という引数の値をいろいろと変えてみましょう
最後に
Wordpress のショートコード用の関数で引数を受け取る方法を紹介しました
これで同じようなコンポーネントは functions.php で定義しデータだけを変数で与えることでコンポーネントの使い回しができるようになります
ショートコード用の関数には他にも content という引数が受け取れます
これは [sc]content[/sc]
という感じでショートコードのタグで囲われたコンテンツの内容を受け取ることができます
0 件のコメント:
コメントを投稿