新しいWordPressブログを作成しています。ページのコンテンツにウィジェットを含めたいと思います。私はPHPハックを説明するフォーラムをいくつか見つけました。それは古いバージョンにも当てはまるようです。 WordPress 3.0.1でページにウィジェットを含めるための最良の方法は何ですか?
このプラグインは簡単な方法かもしれません。 http://wordpress.org/extend/plugins/add-widgets-to-page/
しかしスクラッチ方式の場合は...
Theme Twenty-Tenのfunctions.phpファイルを調べて、動的サイドバーが登録されている場所を見つけます。それはこのように見えます:
<?php function twentyten_widgets_init() {
// Area 1, located at the top of the sidebar.
register_sidebar( array(
'name' => __( 'Primary Widget Area', 'twentyten' ),
'id' => 'primary-widget-area',
'description' => __( 'The primary widget area', 'twentyten' ),
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
// Area 2, located below the Primary Widget Area in the sidebar. Empty by default.
register_sidebar( array(
'name' => __( 'Secondary Widget Area', 'twentyten' ),
'id' => 'secondary-widget-area',
'description' => __( 'The secondary widget area', 'twentyten' ),
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
// Area 3, located in the footer. Empty by default.
//similar code as above
// Area 4, located in the footer. Empty by default.
//similar code as above
// Area 5, located in the footer. Empty by default.
//similar code as above
// Area 6, located in the footer. Empty by default.
//similar code as above
//Your Area 7, copy area 2 above and customize it
}
/** Register sidebars by running twentyten_widgets_init() on the widgets_init hook. */
add_action( 'widgets_init', 'twentyten_widgets_init' );
Twenty-Tenには6つのウィジェット化された領域が含まれているので、私は上記の領域7に書いています。これがすべてテーマのfunctions.phpにコピーされていない場合はコピーし、必要なものを削除または追加します。
カスタム領域7を配置する場所には、テンプレートファイルで次の関数呼び出しを使用します。
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(7) ) : endif; ?>
たとえば、テーマディレクトリにテンプレートファイルを作成し、それをWordPressで作成したページのデフォルトテンプレートとして使用します。 「表示」 - >「ウィジェット」に移動して、ウィジェットを自分の領域7にドラッグすると、それらがウィジェットに表示されます。別のウィジェット領域(動的サイドバー)が必要な場合は、8の代わりに7を代入してください>
この答えは Flynn という名前の男によってこの投稿の助けを借りて作成されました。
私は ページ上のウィジェット と呼ばれるプラグインを公開しました。これにより、投稿やページ内にウィジェットを簡単に定義し、インラインで含めることができます。これは助けになると思います