web-dev-qa-db-ja.com

ページにウィジェットを含めるための最善の方法は何ですか?

新しいWordPressブログを作成しています。ページのコンテンツにウィジェットを含めたいと思います。私はPHPハックを説明するフォーラムをいくつか見つけました。それは古いバージョンにも当てはまるようです。 WordPress 3.0.1でページにウィジェットを含めるための最良の方法は何ですか?

3
g .

このプラグインは簡単な方法かもしれません。 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 という名前の男によってこの投稿の助けを借りて作成されました。

2
kevtrout

私は ページ上のウィジェット と呼ばれるプラグインを公開しました。これにより、投稿やページ内にウィジェットを簡単に定義し、インラインで含めることができます。これは助けになると思います

2
Todd Halfpenny