2024年9月9日月曜日

Wordpress のショートコードに引数を設定する方法

Wordpress のショートコードに引数を設定する方法

概要

$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 件のコメント:

コメントを投稿