質問: '. $value3 .' </script>'; }); }); 今は明らかにそれは機能していないので、あなたのうちの誰かが私に正しい方法で同様のことをどのように私に導くことができるか私は願っていました。可能であれば、質問に否定的に投票する代わりに助けてください。
回答: いいえ、それはうまくいきません。 wordpressがあなたのコンテンツのショートコードの評価を開始する頃には、サイトのヘッドはすでに組み立てられているので、もうそれにアクションを追加することはできません。 フックの実行順序 を見ると、その方法がわかります。まず、スクリプトのエコーを避ける必要があります。そうではなく、 wp_enqueue_script (wp_enqueue_styleと同じ)は、スクリプト間の競合を避けたい場合に使用する方法です。スクリプトは頭の中に入っているので、wp_headが呼び出される前にあなたのアクションが宣言されることを望みます。投稿から情報を抽出する必要があることを考えると、wpがこの投稿がどの投稿であるかがわかった後にフックする必要があります。そのフックは wp です。ここでは、 regex を使用して関連するショートコードを抽出するために投稿コンテンツを事前評価する必要があります。大体あなたの関数は次のようになります。add_action ('wp', 'add_shortcode_script'); function add_shortcode_script () { global $post; ... use regex to scan $post->$post_content for your shortcode ... and extract $value2 and $value3 wp_enqueue_script (...vars based on $value2...); wp_enqueue_style (...vars based on $value3...); } ショートコードがcss/jsファイルの追加を示す場合に必要なものは上記のとおりです。あなたの例では、おそらくメインのcss/jsファイルの振る舞いを変えるスニペットを追加するだけです。つまり、 wp_add_inline_script および wp_add_inline_style を使用する必要があります。コードの後半部分は次のようになります。 wp_enqueue_script ('my_script','http:/.../main.js'); wp_enqueue_style ('my_style','http:/.../main.css'); wp_add_inline_script ('my_script', $string_based_on_value2); wp_add_inline_style ('my_style', $string_based_on_value3);