web-dev-qa-db-ja.com

カスタムウィジェットをどこにでも表示する方法

私は広告用のカスタムウィジェットです。サイドバーに広告を表示するのに役立ちますが、すべての単一の投稿の下またはスライダーの近くのフロントページに表示するようにしています。

<?php the_widget( 'AdWidget_300' ); ?> 

どこでも好きな場所にカスタムウィジェットを呼び出すことができますか?

2
Dragut

ウィジェットエリアを追加する あなたのsingle.phpfront-page.phphome.phpまたはあなたが望むものなら何でも..テンプレートのテーマファイル。バックエンドよりも[表示]> [ウィジェット]に移動して、作成したばかりのウィジェット領域にウィジェットを移動します。

4
Fleuv

カスタムウィジェットをコンテンツや他の場所に直接表示することはできません。 the_widget()関数は組み込みウィジェットのみを表示します。

カスタムウィジェットを表示したい場合は、サイドバーを作成し、新しく作成したサイドバーにウィジェットを割り当て、dynamic_sidebar( 'id' );を使用してそのサイドバーを表示する必要があります。

詳細については http://codex.wordpress.org/Widgetizing_Themes

2
Ajay Gadhavana

あなたの質問に対するクリーンで、簡単で、そして簡単な解決策は、 amrのショートコードの任意のウィジェットを調べることです 。名前が示すように、次のようにショートコードを使用してウィジェットをページに挿入できます。

[do_widget "Your Widget" ]

@ Bergmann、単一のウィジェットを使用して単一ページに5つの広告を表示することができます(「すべての広告が一緒になっている場合」)。しかし、すべての広告を異なる場所に配置する場合は、異なるウィジェット領域と異なるウィジェットを作成する必要があります。

1
PHP Team

カスタムウィジェットは<?php the_widget( '' ); ?>とうまく動作します

あなたはそれをテストすることができます。

  1. ウィジェットのコピー例 https://codex.wordpress.org/Widgets_API#Displaying_Widgets

  2. コーデックスで言うように登録を忘れないでくださいadd_action( 'widgets_init', ...

  3. Index.phpから呼び出してください<?php the_widget( 'Foo_Widget' ); ?>

0
Alexufo