VWSとは フォーラム Lightning カスタム投稿タイプ「例:顧客情報」で、コンテンツエリア用のウィジェットが作りたい

カスタム投稿タイプ「例:顧客情報」で、コンテンツエリア用のウィジェットが作りたい

このトピックには5件の返信が含まれ、2人の参加者がいます。5 日、 22 時間前 RICK さんが最後の更新を行いました。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #24528

    max-stone
    参加者

    こちらの記事ではトップページのコンテンツエリア右と左のウィジェット生成コードが記載されております。

    トップページのコンテンツエリア

    今回はカスタム投稿タイプで生成した固定ページ、投稿ページ、カテゴリーページのいずれでも編集ができる

    「カスタム投稿タイプページエリア上部」のような機能をみたすウィジェットエリアの作り方を教えていただけませんでしょうか。

    なにぶん、仕事で困っております。回答の方頂けると非常に助かります。宜しくお願い致します。

    #24541

    RICK
    参加者

    今回はカスタム投稿タイプで生成した固定ページ、投稿ページ、カテゴリーページのいずれでも編集ができる「カスタム投稿タイプページエリア上部」のような機能をみたすウィジェットエリアの作り方を教えていただけませんでしょうか。

    「コンテンツエリア(共通上部)」という感じの解釈でOKならば下記で実現可能です。
    ただし、Lightning 7.0.0 / Lightning Pro 2.0.0 以上が必要です。

    
    /**
     * Define Widget Areas
     */
    function define_widget_areas() {
    
    	register_sidebar(
    		array(
    			'name'          => 'コンテンツエリア(共通上部)',
    			'id'            => 'common-content-area-prepend',
    			'before_widget' => '<div class="widget %2$s" id="%1$s">',
    			'after_widget'  => '</div>',
    			'before_title'  => '<h2 class="mainSection-title">',
    			'after_title'   => '</h2>',
    		)
    	);
    }
    add_action( 'widgets_init', 'define_widget_areas', 100 );
    
    /**
     * Place Widget Areas
     */
    function place_widget_areas() {
    	if ( is_active_sidebar( 'common-content-area-prepend' ) ) {
    		dynamic_sidebar( 'common-content-area-prepend' );
    	}
    }
    add_action( 'lightning_mainSection_prepend', 'place_widget_areas' );
    // トップページコンテンツエリア上部の上に表示する場合
    // add_action( 'lightning_home_content_top_widget_area_before', 'place_widget_areas' );
    // トップページコンテンツエリア上部の下に表示する場合
    // add_action( 'lightning_home_content_top_widget_area_after', 'place_widget_areas' );
    #24547

    max-stone
    参加者

    RICKさん いつも回答ありがとうございます。

    それがですね、、共通ではなく、特定の記事にしか出力させたくないんですね。
    その方法はありますでしょうか。。

    また、このようなIDはマニュアルなどに記載されているものか、お伺いしてもよろしいでしょうか。
    common-content-area-prepend

    後少しお付き合いいただけますでしょうか。

    #24553

    RICK
    参加者

    それがですね、共通ではなく、特定の記事にしか出力させたくないんですね。
    その方法はありますでしょうか。

    特定の記事のみというのはどういうことでしょうか?
    LPみたいに記事ごとに必要ということなのでしょうか?

    ランディングページ用固定ページテンプレート


    それだと 外観 > ウィジェット の右半分がかなりカオスになりそうな気がします。

    下記にあるようにプラグインで条件指定して出し分けをするという手法ではだめですか?

    Lightning のサイドバーの設定について

    投稿タイプごとということならまだまだ対応余地があります。

    また、このようなIDはマニュアルなどに記載されているものか、お伺いしてもよろしいでしょうか。
    common-content-area-prepend

    ウィジェットエリアの設置方法は下記が参考になると思います。

    IDは適当に決めていますが、定義時と呼び出し時で同じものを指定する必要があります。

    add_action( 'lightning_mainSection_prepend', 'place_widget_areas' );

    上記については Lightning 7.0.0 / Lightning Pro 2.0.0 で新たに追加されたアクションフックを利用しています。
    index.php や single.php などに<?php do_action( 'lightning_mainSection_prepend' ); ?>があるので確認してみてください。

    参考サイト:

    #24554

    RICK
    参加者

    やってることは Lightning Pro の functions.php の 「WidgetArea initiate」 の部分に書かれていることを真似したり応用したりしているだけなので、好奇心や興味・関心がある場合は見てみると良いかもしれません。

    #24556

    RICK
    参加者

    ウィジェットの出し分けについては条件分岐タグWidget Logicの組み合わせが個人的には最強だと思います。

6件の投稿を表示中 - 1 - 6件目 (全6件中)

このトピックに返信するにはログインが必要です。