WordPressのショートコードはフォーラムタグに似たもので、形式は山括弧を角括弧に置き換えたHtmlタグに似ています。ショートコードをショートコードと呼ぶ人が多いですが、正式な訳はショートコードのはずですので、ここで修正してください。
ショートコード開発のロジックは比較的単純で、主に追加、削除、判定ですが、この記事で詳しく紹介します。
ショートコード形式
ショートコードの形式は非常に柔軟で、属性あり、属性なし、クローズ、非クローズなどにすることができます:
[例]
[例]内容[/例]
[example attr="attribute" attr-hide="1"]コンテンツ[/example]
[「プロパティ」の例]
ショートコードを追加
ショートコードを追加するには、add_shortcode() 関数を使用する必要があります。この関数には 2 つの属性があります。1 つ目はショートコード名で、2 つ目はショートコードのコールバック関数です。
リーリーたとえば、test という名前のショートコードを追加し、Bing_shortcode_test() 関数をコールバックします。
リーリー記事に[test]を追加すると「Hello World!」が出力されます。
上記の例からわかるように、ショートコードのコールバック関数は 2 つのパラメーターを受け取る必要があります。 1 つ目は配列に格納されたショートコードのすべての属性で、2 つ目はショートコードのコンテンツ (クローズされたショートコード内のコンテンツ) です。
ショートコードを削除
remove_shortcode() 関数はショートコードを削除できます。削除するにはショートコードの名前を指定するだけです。
リーリーremove_all_shortcodes() 関数は、現在追加されているすべてのショートコードを削除するために使用されます。
リーリーショートコードを判断する
ショートコードの判定に関しては、shortcode_exists()関数がショートコードの有無を判定します。
リーリー特定のショートコードが文字列に出現するかどうかを判断するための has_shortcode() 関数もあります。
リーリーショートコードを実行
do_shortcode() 関数は、文字列内のショートコードを検索し、ショートコードで以前に追加したコールバック関数を呼び出して、必要なコンテンツにショートコードを実行するために使用されます。
WordPress によって追加されたフック:
リーリー例:
リーリーショートコード属性
ショートコードはさまざまな形式の属性をサポートし、ショートコード コールバック関数の最初のパラメータを受け入れます。パラメータのデフォルト値を設定したい場合は、shortcode_atts() 関数を使用できます:
リーリー
スクリプトはページでショートコードが使用されている場合にのみロードされます
開発プロセス中に、この問題に遭遇することがあります。ショートコード モジュールは JS または CSS スクリプトをロードする必要があり、ページでショートコードが使用されていない場合、リソースの無駄が発生します。
たとえば、以下の Google マップ プラグイン:
スクリプトは、[google_map] ショートコードがページで使用されている場合にのみロードする必要があります。これを行うにはどうすればよいですか?
実際には非常に簡単で、ショートコード関数がトリガーされたときにフッターにスクリプトをマウントするだけです。
リーリー概要
ショートコードは非常に強力な機能で、うまく使えば何かを素早く便利に追加できます。
ショートコードに関連する機能はすべて wp-includes/shortcode.php ファイルにあります。能力のある友人はそれを読んで原理を理解できます。