質問: null ) { return '<p class="super-p">' . do_shortcode($content) . '</p>'; } add_shortcode('paragraph', 'paragraph_shortcode'); ユーザーの種類 [段落]何か[/段落] そしてそれは示す<p class="super-p"> something </p>最初のコードに空の属性機能を追加する方法だからユーザータイプ [最後の段落]何か[/段落] それは出力されます:<p class="super-p last"> something </p> 私は追加を信じる:extract( shortcode_atts( array( 'last' => '', ), $atts ) ); 良いスタートですが、値がないのにユーザーが "last"属性を使用したかどうかを確認する方法はありますか?
回答: これを行うにはいくつかの方法があります。あいにく、私はあなたが何をしようとしているのかということになるとは思わない。 ([paragraph last]) 属性を必要とせずに$ contentを処理する[paragraph_first] [paragraph_last] [paragraph_foobar]用に別々のショートコードを作成するだけで済みます。 lastのデフォルト値を''の代わりにfalseに設定し、ユーザーに[paragraph last=""]content[/paragraph]の実行を要求することもできます。 positionのようなもっと意味のある属性を追加することができ、それを[paragraph position="first"]や[paragraph position="last"]のように使うことができます。 wordpressがデフォルトを与えられていない属性をすべて破棄するという事実と、="value"を持たないattにはまったくリストされていないのと同じデフォルト値が与えられるという事実のために、私は[paragraph last]を達成する方法を見ませんうまくいけば、私の3つの回避策のうちの1つが役に立つことを証明するでしょう。がんばろう!