ホームページ > CMS チュートリアル > &#&プレス > クイックヒント:WordPressでウィジェット内でショートコードを使用する方法

クイックヒント:WordPressでウィジェット内でショートコードを使用する方法

Lisa Kudrow
リリース: 2025-02-10 15:07:09
オリジナル
503 人が閲覧しました

WordPressでは、短いコードはデフォルトでは記事やページでのみ使用でき、ウィジェットでは使用できません。ただし、この関数は、widget_textフィルターとdo_shortcode()機能を使用して有効にすることができ、テキストウィジェットが既存のショートコードを解析できるようにします。

Quick Tip: How to Use Shortcodes Within Widgets in WordPress

テキストウィジェットのショートコードWordPressはデフォルトで複数のウィジェットを提供します。テキストウィジェットを使用すると、任意のテキストをウィジェットまたはHTMLコードに追加できます。これは、このウィジェットでJavaScriptコードを使用することもできるため、非常に強力です。ただし、サーバーに保存されているデータにアクセスするPHPスクリプトなど、さらに多くの機能が必要な場合、このウィジェットはデフォルトで役立ちません。

記事に似ています。そのため、記事のように、ショートコードを使用してやりたいことを何でもできるようにしたいのです。これを行うには、

フィルターを使用できます。このフィルターは、テキストウィジェットのコンテンツの変更を可能にするために使用されます。ここで使用して、このウィジェットのショートコードを解析するようにWordPressに依頼します。

widget_text WordPressでの短いコードの解析は、

関数によって達成されます。必要なパラメーター、つまり解析するテキストを受け入れ、解析されたテキストを返します。これは、この関数を

フィルターのコールバック関数として直接使用できることを意味します。 do_shortcode() widget_text次のコードは、プラグインファイルまたはテーマの

ファイルで使用できます。

functions.phpテキストウィジェットに入力する既存のショートコードは、解析されます。

<?php add_filter('widget_text', 'do_shortcode'); ?>
ログイン後にコピー
ログイン後にコピー

Quick Tip: How to Use Shortcodes Within Widgets in WordPress 新しいショートコードウィジェットを作成

あるいは、独自のウィジェットを作成できます。デフォルトの「テキスト」ウィジェットはうまく機能するため、次のコード(ファイルにある)からコードを単純に調整できます。独自のプラグインを作成し、コアWordPressファイルを変更しないでください。

/wp-includes/default-widgets.phpあまり変える必要はありません。最初に変更するのは、クラスの名前です。私はそれを名前にすることを選択しました

ですが、あなたはあなたが好きな名前を選ぶことができます。このタイプのコンストラクターは、ウィジェット自体に関する情報を設定するため、変更する必要もあります。
<?php class WP_Widget_Text extends WP_Widget {

    public function __construct() {
        $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.'));
        $control_ops = array('width' => 400, 'height' => 350);
        parent::__construct('text', __('Text'), $widget_ops, $control_ops);
    }

    // ... (其余代码与原文相同) ...
}
?>
ログイン後にコピー
ログイン後にコピー

WP_Widget_Shortcodes変更する必要があるもう1つの場所は、WordPressがウィジェットを表示する方法を説明する

メソッドです。表示されるテキストを含む
<?php public function __construct() {
    $widget_ops = array('classname' => 'widget_shortcodes', 'description' => __('Arbitrary text or HTML with shortcodes.'));
    $control_ops = array('width' => 400, 'height' => 350);
    parent::__construct('shortcodes', __('Shortcodes'), $widget_ops, $control_ops);
}
?>
ログイン後にコピー
変数の内容を変更します。呼び出しを

フィルターに削除し、このコンテンツにwidget()関数を適用します。 $text

<?php add_filter('widget_text', 'do_shortcode'); ?>
ログイン後にコピー
ログイン後にコピー

その後、他のウィジェットと同様に追加できるように、ウィジェットを登録する必要があります。これは、WordPressがデフォルトのウィジェットを登録するとトリガーされるwidgets_init操作を通じて実行できます。

<?php class WP_Widget_Text extends WP_Widget {

    public function __construct() {
        $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.'));
        $control_ops = array('width' => 400, 'height' => 350);
        parent::__construct('text', __('Text'), $widget_ops, $control_ops);
    }

    // ... (其余代码与原文相同) ...
}
?>
ログイン後にコピー
ログイン後にコピー

利用可能なウィジェットのリストにウィジェットを見つけることができます。互換性のある領域に追加でき、使用しているショートコードについて説明します。

Quick Tip: How to Use Shortcodes Within Widgets in WordPress

結論

上記のように、ウィジェットのショートコードを有効にすることは複雑ではありませんが、注意する必要があります。実際、すべてのショートコードがウィジェットの場所を表示するのに適しているわけではありません。短いコードに固定幅がある場合、それは問題になる可能性があります。

デフォルトのテキストウィジェットで使用する変更は最小限であることに注意してください。ウィジェットをカスタマイズする場合は、他のものを変更できます。

(以下は、元のFAQパーツの擬似オリジナル作業です。式メソッドは、コンテンツの一貫性を維持しながら調整されます) WordPressウィジェットで短いコードを使用することについてのFAQ

WordPressウィジェットで短いコードを使用する目的は何ですか?

  • WordPressウィジェットでショートコードを使用すると、コードを作成せずに特定の機能を追加できます。これらは複雑な関数のショートカットです。たとえば、ショートコードを使用してファイルを埋め込んだり、オブジェクトを作成したり、特定のコンテンツを記事やページに挿入したりできます。ウィジェットでショートコードを使用することにより、これらの機能をウェブサイトのサイドバーまたは他のウィジェット領域に拡張して、ユーザーエクスペリエンスを向上させることができます。
WordPressウィジェットにショートコードを追加するにはどうすればよいですか?

  • WordPressウィジェットにショートコードを追加するには、WordPressダッシュボードに表示されているウィジェットセクションに移動します。テキストウィジェットを目的のウィジェット領域にドラッグアンドドロップします。ウィジェットのテキストフィールドに、四角い括弧に囲まれた短いコードを入力します。 [保存]をクリックして変更を適用します。

なぜ私のショートコードがウィジェットで動作しないのですか? []

  • ショートコードがウィジェットで動作しない場合、いくつかの理由が原因である可能性があります。ショートコードが正しくない場合、またはショートコードを提供するプラグインが無効になる場合があります。ショートコードが正しく、必要なプラグインがアクティブであることを確認してください。問題が持続する場合、他のプラグインやテーマと競合する可能性があります。別のプラグインを無効にしたり、デフォルトのテーマに切り替えてトラブルシューティングをしてみてください。
単一のウィジェットで複数のショートコードを使用できますか?

  • はい、単一のウィジェットで複数のショートコードを使用できます。各ショートコードが四角い括弧で囲まれていることを確認し、異なるショートコードの間にスペースがあることを確認してください。
    • ウィジェット用の独自のショートコードを作成するにはどうすればよいですか?

    ウィジェット用の独自のショートコードを作成するには、テーマのfunctions.phpファイルにカスタム関数を追加する必要があります。この関数は、ショートコードの関数を定義する必要があります。関数を定義した後、add_shortcode()関数を使用して新しいショートコードを作成できます。

    • すべてのタイプのウィジェットでショートコードを使用できますか?

    テキスト入力を受け入れるウィジェットでは、短いコードを使用できます。これには、テキストウィジェット、カスタムHTMLウィジェット、その他のウィジェットが含まれます。ただし、すべてのウィジェットがショートコードをサポートするわけではありません。

    • wordPressの関数は何ですか? do_shortcode
    • WordPressの
    関数は、コンテンツのショートコードを検索し、フックを介してショートコードをフィルターします。実際には、ウィジェットやテーマファイルなど、記事エディターの外側でショートコードを使用できます。

    do_shortcode

      WordPress Page Builderでショートコードを使用できますか?
    • はい、ほとんどのWordPressページビルダーは短いコードをサポートしています。通常のウィジェットのように、ページビルダーモジュールまたはウィジェットにショートコードを追加できます。

      WordPress Webサイトで利用可能なショートコードを見つける方法は?
    • WordPress Webサイトで利用可能なショートコードは、インストールしたプラグインとテーマによって異なります。一部のプラグインとテーマは、ドキュメントで利用可能なショートコードのリストを提供します。また、プラグインまたはテーマファイルで
    関数を検索することにより、短いコードを見つけることもできます。

    add_shortcode

      WordPressの記事やページでショートコードを使用できますか?
    • はい、WordPressの記事やページで短いコードを使用できます。ウィジェットと同じように、記事エディターの正方形のブラケットにラッピングすることで、記事またはページにショートコードを追加できます。

以上がクイックヒント:WordPressでウィジェット内でショートコードを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート