タグ付けされた質問 「shortcode」

角括弧で囲まれた文字列が長くて複雑な文字列の省略形として機能するBBコードのようなメカニズム。これらの文字列は、通常はページの読み込み時にコールバックハンドラーによって処理され、角かっこで囲まれた文字列がコールバックハンドラーからの出力に置き換えられます。

6
コードを配置する場所:pluginまたはfunctions.php?
プラグインまたはテーマに属するコードの種類を決定するための簡単なスキームはありfunctions.phpますか? あります 多く の場合、多くの議論そのトピックについては、ワードプレスの内部の仕組みに関するいくつかの誤解がある主な理由は、。私は意見ではなく、事実に基づいて答えを求めています。 これらのポイント(およびおそらくそれ以上)の処理方法を説明する必要があります。 カスタム投稿タイプと分類 お問い合わせフォーム ショートコード カスタムウィジェット add_theme_support( 'automatic-feed-links' ); カスタムmeta要素のようなSEO機能 テーマスイッチ 多くの場合、両方の長所と短所があります。functions.phpファイルの最も人気のあるコードのベストコレクションには、少なくとも議論の余地のある答えとして多くのコードスニペットがあります。 初心者が理解できる基準、おそらくチェックリストが必要です。それには理由があります。 メタサイトのChip Bennettによる関連する質問も参照してください。「プラグインなしで」ソリューションを具体的に求める質問 関連:ここで見つけたコードスニペットをWeb上のどこに配置しますか?

8
ショートコードが存在する場合のエンキュースクリプト/スタイル
プラグインで使用するためのスクリプトおよび/またはスタイルを登録/エンキューするアイデアの方法は何ですか? 最近、ユーザーのアバター/グラバターにショートコードを追加するためのシンプルなプラグインを作成しました。アバターを表示するためのさまざまなスタイルオプション(正方形、円形など)があり、CSSをショートコード自体に直接配置することにしました。 ただし、ページでショートコードが使用されるたびにcssが繰り返されるため、これは良いアプローチではないことがわかりました。私はこのサイトで他のいくつかのアプローチを見てきましたが、wp codexには独自の2つの例さえあります。 私が現在知っている方法は次のとおりです。 方法1:ショートコードに直接含める- これはプラグインで現在行っていることですが、コードを繰り返しているので良くないようです。 class My_Shortcode { function handle_shortcode( $atts, $content="" ) { /* simply enqueue or print the scripts/styles in the shortcode itself */ ?> <style type="text/css"> </style> <?php return "$content"; } } add_shortcode( 'myshortcode', array( 'My_Shortcode', 'handle_shortcode' ) ); 方法2:スクリプトまたはスタイルを条件付きでキューに入れるためにクラスを使用する class My_Shortcode { static $add_script; …

8
ショートコードのJavaScript / CSSの条件付きロード
ショートコードを作成するプラグインをリリースし、そのショートコードを含むページに読み込むにはJavaScriptファイルとCSSファイルが必要です。スクリプト/スタイルをすべてのページにロードすることもできますが、それはベストプラクティスではありません。ショートコードを呼び出すページにファイルをロードするだけです。これを行うには2つの方法がありますが、どちらにも問題があります。 方法1は、ショートコードハンドラー関数内でフラグをtrueに設定し、wp_footerコールバック内でその値を確認します。trueの場合wp_print_scripts()、JavaScriptのロードに使用されます。これに伴う問題は、CSSが内部で宣言されなければならないので、それだけで、JavaScriptとCSSでないために働くということである<head>あなただけのような初期のフックの間に行うことができます、initまたはwp_head。 方法2は早期に起動し、「先読み」して、現在のページコンテンツにショートコードが存在するかどうかを確認します。このメソッドは最初のメソッドよりもはるかに優れていますが、テンプレートがを呼び出すかどうかの問題は検出されませんdo_shortcode()。 したがって、私は2番目の方法を使用して、テンプレートが割り当てられているかどうかを検出し、割り当てられている場合はそれを解析してショートコードを取得しようとしています。しかし、その前に、誰かがより良い方法を知っているかどうかを確認したかったのです。 更新:ソリューションをプラグインに統合しました。誰かがそれがライブ環境で肉付けされているのを見たいと思うなら、それをダウンロードするか、それをブラウズすることができます。 更新2: WordPress 3.3では、ショートコードコールバック内で直接呼び出すwp_enqueue_script()ことが可能になり、ドキュメントのフッター内でJavaScriptファイルが呼び出されます。CSSファイルでも技術的には可能ですが、<head>タグの外部にCSSを出力するとW3Cの仕様に違反し、FOUCが発生し、ブラウザにページの再レンダリングを強制する可能性があるため、悪い習慣と見なされます。


1
extract(shortcode_atts(array(は何をしますか?
コーデックスは言う shortcode_atts()ユーザーのショートコード属性を既知の属性と組み合わせ、必要に応じてデフォルトを設定します。結果には、既知の属性のすべてのキーが含まれ、ショートコード属性の値とマージされます。 私にはあまり意味がありません(私は初心者です)。 以下に例を示します。 function wps_trend($atts) { extract( shortcode_atts( array( 'w' => '500', 'h' => '330', 'q' => '', 'geo' => 'US', ), $atts)); $h = (int) $h; $w = (int) $w; $q = esc_attr($geo); ob_start(); 説明してもらえますか?
28 shortcode 

9
コンテンツを投稿するために自動的に<br>タグを追加するWordPressを停止します
&lt;br&gt;WordPressテキストエディターでリターンを追加するときにWordPressが自動的にタグを挿入しないようにする方法はありますか。 コードエディターのように動作して、コードを好きなように構成し、読みやすくすることができます。 エディターで使用しているコードは次のとおりです。 [one_third][team_member image_url="team_member.jpg" name="Laser vision" role="WordPress Designer"][custom_button url="#"]For more information[/custom_button][/team_member][/one_third][one_third][team_member image_url="team_member.jpg" name="Laser vision" role="WordPress Designer"][custom_button url="#"]For more information[/custom_button][/team_member][/one_third][one_third][team_member image_url="team_member.jpg" name="Laser vision" role="WordPress Designer"][custom_button url="#"]For more information[/custom_button][/team_member][/one_third] 読みやすく編集しやすいように、このように構成したいと思います。 [one_third] [team_member image_url="team_member.jpg" name="Laser vision" role="WordPress Designer"] [custom_button url="#"]For more information[/custom_button] [/team_member] [/one_third] [one_third] [team_member image_url="team_member.jpg" name="Laser vision" role="WordPress Designer"] [custom_button …

3
コンテンツとギャラリーの分割
投稿のコンテンツとギャラリーのショートコードを分割する方法はありますか。ギャラリーの配置方法や場所に関係なく、通常のコンテンツの外側にギャラリーを表示したい。これを使用してショートコード自体を取得できます。 if(has_shortcode(get_the_content(), 'gallery')){ $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); echo do_shortcode($matches[0]); } しかし、ギャラリーの短いコードが最初のインスタンスでない場合、これは機能しません。コンテンツとギャラリーを完全に分割する方法はありますか? 編集:私は半解決策を持っていますが、それを取り巻くには長い道のりのようです。最初に投稿内の最初のショートコードを取得し(「ギャラリー」ショートコードのみが必要なため修正する必要があります)、その後コンテンツからすべてのショートコードを削除します(もう一度、実際にやりたいことではありません)。 &lt;?php if(has_shortcode(get_the_content(), 'gallery')) : ?&gt; &lt;?php $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); ?&gt; &lt;div id="content"&gt; &lt;?php echo strip_shortcodes(get_the_content()); ?&gt; &lt;/div&gt; &lt;div id="gallery"&gt; &lt;?php echo do_shortcode($matches[0]); ?&gt; &lt;/div&gt; &lt;?php endif; ?&gt; 編集#2 -OK、投稿でギャラリーショートコードしか取得できませんでした。ギャラリーショートコードフォームを削除するためのフィルターも追加しました。the_content()問題は、ショートコードが投稿されるため、必ずしもショートコードを削除するとは限らないが、「do_shortcode()」を実行できないことです。 Functions.php function remove_gallery($content) { …

1
apply_filters( 'the_content'、$ content)vs do_shortcode($ content)
テーマオプションまたはカスタムポストメタテキス​​トエリアがあるとします。今、私は複数のショートコード、一般的なテキスト、画像などを実行したい ベストプラクティスとは何ですか? オプション1: $content = //my text area data; echo apply_filters('the_content', $content); オプション2: $content = //my text area data; echo do_shortcode($content); どちらがベストプラクティスになるのか、そしてその理由を教えてください。 編集 シナリオについて詳しく説明します。クライアントの要件に合わせてテーマを開発します。場合によっては、投稿/ページ/カスタム投稿タイプに投稿メタを追加して、ショートコード(スライダー、連絡フォームなど)または単なるテキストを追加できるようにする必要があります。提出されたテキストです。 ショートコードを機能させるには、オプション1を使用します。今、私はこれが間違った方法であると誰かから聞いたので、を使用する必要がありますdo_shortcode。しかし、彼らはなぜそれが間違った方法であるかの説明を私に与えませんでした。それが私が尋ねている理由です。 このプロセス全体は、wpのデフォルトのテキストエディターで実行できます。しかし、テンプレート固有の使用のためにこれらのオプションを作成する必要があります。それが私のクライアントの望みです。

3
Admin Editorでショートコードをレンダリングするソリューション
私は約1年前にこの質問をしましたが、私の目的を達成できるような簡単な解決策があることを願っています。だからここに行く: 私はしばしば管理エディター内でショートコードを利用しますが、これをクライアントに引き継ぐと、彼らはしばしばそれらがどのように機能するかを理解しません。 私が探しているのは、管理WYSIWYGエディター内でショートコードの関連付けられた出力を単純に自動的にレンダリングするソリューションです。 視覚的な観点から、「もっと」行が表示されるとき、またはエディター内に画像が表示されるときと同じように表示したいと思います。これにより、ユーザーには出力が表示されますが、出力のみを削除でき、レンダリングされたショートコードのコンテンツは編集できません。

4
ショートコードを実行せずに表示する
WordPressページにコードを表示しようとしていますが、機能していません。私が読んだことはすべて、preタグをコードタグで使用できるはずであり、それは良いことだと言いますが、ショートコードを表示しようとすると、コードを表示するのではなくショートコードをレンダリングします。 コーデックスはpre、コードの使用は機能すると言っていますが、私には向いていません。誰にもこの問題がありましたか?functions.phpこの作品を作る何かが欠けていますか?
18 shortcode 


5
短いコードで「]」をエスケープするにはどうすればよいですか?
短いコードで右括弧をエスケープするにはどうすればよいですか? エンコードされたポイントを持つGoogleマッププラグインで作業しています。場合によっては、ポリゴンに]が含まれているため、WPがショートコードの終わりであるとWPに認識させます。 例えば: [my_shortcode latitude='36.93' longitude='-72.98' encoded_points='ortlF~g]tM?cZEH`z]}|@DQfi]' ] &amp;#93;WPに問題を引き起こしていないものを試しましたが、Googleマップコードに問題を引き起こしています。Regexを使用して]を置き換えることもできますが、もっと簡単な方法があるかもしれません。ショートコードにはエスケープ文字がありますか?
17 shortcode 

3
ショートコードでブール値を渡す
WordPressショートコードで、ブール属性を渡すにはどうすればよいですか?またはの 両方が文字列値を提供しています。[shortcode boolean_attribute="true"][shortcode boolean_attribute=true] 編集 @brasofiloによってコメントされたトリックを使用すれば、自分が何をしているのかを知っているユーザーには問題はありません。ただし、一部のユーザーは、属性false値を指定して値を受け取ると失われtrueます。他の解決策はありますか?

4
functions.phpでPHPを使用してWordPressギャラリーコードを手動で修正する方法
Wordpressは、組み込みのギャラリー機能に対して非常に悪いコードを出力すると何度も言われています。 これは、ギャラリー出力を担当するコアコードです(/wp-includes/media.php内): function gallery_shortcode($attr) { global $post; static $instance = 0; $instance++; // Allow plugins/themes to override the default gallery template. $output = apply_filters('post_gallery', '', $attr); if ( $output != '' ) return $output; // We're trusting author input, so let's at least make sure it looks like a valid …

2
常にページの上部に表示されるショートコード
ショートコードを使用して、loops-name.phpを介してさまざまなループを取り込みます。何らかの理由で、常にページの上部にあります。私はそれをグーグルで調べて、リターンの代わりにエコーを使用するとその問題が発生しますが、私のコードではエコーを使用していません。ショートコードは次のとおりです。 // setup the shortcode for use function friendly_loop_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'category' =&gt; '', 'module' =&gt; '' ), $atts ) ); include(locate_template('loop-'.$module.'.php')); } なぜこれが起こっているのか考えていますか?
15 shortcode 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.