ウィジェットが初期化される

フォーラム 使い方全般 ウィジェットが初期化される

  • このトピックには7件の返信、3人の参加者があり、最後にuishiにより7年、 12ヶ月前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #78347
    komori
    参加者

    ——————————————-
    WordPress のバージョン:4.5
    Welcart のバージョン:1.8.2
    ご利用のテーマ:welcart basic
    症状を確認したブラウザ:google chrome
    サーバー(会社名、サービス名):お名前.com
    SSLの利用: 
    WordPress のパーマリンク設定:基本
    ——————————————–

    カスタマイズ画面やウィジェット変更の画面でいくら削除してもblogページにお薦め商品やベストセラーが出てきて消せません。
    また登録してもblogのみに対応させるウィジェットが反映されません。
    blogページにはページ専用にサイドバーを用意して商品ページとは分離させているのですが勝手に読み込まれます
    ブログページ用のサイドバーではデフォルトのウィジェットを表示させるプログラムを削除しています。
    解決策はありますか?
    ブログページでは商品の紹介を載せたくないので

    #78356
    yasumax
    キーマスター

    こんにちは。

    どんな手順でウィジェット領域を増やしたのでしょうか?
    blogページとは「blog」カテゴリーのカテゴリーページですか?詳細ページですか?
    詳細が不明なため「手順のどこかが間違っているのでは」という曖昧な回答しかできませんが、どんなコードを書いたのかや何のテンプレートを増やしたのかなどがわかればもう少しアドバイスができるかと思います。

    また、Welcart Basicは随時更新が行なわれますので変更を加える場合は子テーマをご利用ください。
    子テーマについては、下記をご参照ください。
    Welcart Basicドキュメント 子テーマ作成方法

    #78381
    komori
    参加者

    ウィジェットエリアが初期化される症状はいきなりなくなりました。
    なにがどうなってそうなったのかは分かりません。
    blog用のテンプレートにsidebar-blog.phpを作りそのなかにfunctions.phpで指定したウィジェットエリア(widget-area-3)を読み込ませるようにしていました。
    上記は解決したのですが、blogページのカテゴリー(WPでフォルトウィジェット)やアーカイブに商品が表示されてしまいます。色々調べてfunctions.phpに以下のプログラムを書き込んだのですが動作しません。
    親カテゴリーitemの表示を消して親カテゴリblogのみを表示させたいのですが。

    add_filter(‘widget_categories_dropdown_args’, ‘welcart_categories_dropdown_args’);
    function welcart_categories_dropdown_args( $args ){
    global $usces;
    $ids = $usces->get_item_cat_ids();
    $ids[] = USCES_ITEM_CAT_PARENT_ID;
    $args[‘exclude’] = $ids;
    return $args;
    }

    add_filter(‘getarchives_where’, ‘welcart_getarchives_where’);
    function welcart_getarchives_where( $r ){
    $where = “WHERE post_type = ‘post’ AND post_status = ‘publish’ AND post_mime_type <> ‘item’ “;
    return $where;
    }

    また、functions.phpに新たにカスタムフィールドを作り出すプログラムを書き、カテゴリーも商品とは全く別物にしていてもblogページ内に商品カテゴリーが表示されます。
    商品カテゴリーが20以上あるので人に見てもらう上でブログのカテゴリーが探せない状況です。

    デフォルトウィジェットにitemカテゴリーを表示させない方法はありませんでしょうか?

    #78383
    yasumax
    キーマスター

    こんにちは。

    ブラウザかサーバーかのキャッシュだったのでしょうか。。。
    解決したようで安心いたしました。
     
     
    getarchives_whereのほうでエラーが起こるみたいです。
    widget_categories_dropdown_argsで利用したものをwidget_categories_argsでも同じようにすることで除外できるようですので下記試してみてください。

    add_filter('widget_categories_dropdown_args', 'welcart_categories_exclude');
    add_filter('widget_categories_args', 'welcart_categories_exclude');
    function welcart_categories_exclude( $args ){
    	global $usces;
    	$ids = $usces->get_item_cat_ids();
    	$ids[] = USCES_ITEM_CAT_PARENT_ID;
    	$args['exclude'] = $ids;
    	return $args;
    }

     
     
    また、表題と質問が異なる場合はあらためてトピックを立てなおしてもらえると助かります。

    #78385
    komori
    参加者

    教えていただいたプログラムに書き直した所解決しました。
    ありがとうございます

    #78386
    uishi
    参加者

    後学のためにお聞きしたいが
    条件付けしたりget_sidebarにblog指定しないで、
    sidebar-blog.phpが反映されるもんなんでしょうか。

    #78387
    yasumax
    キーマスター

    こんにちは。

    uishiさん>

    get_sidebarにblog指定しないで、
    sidebar-blog.phpが反映されるもんなんでしょうか。

    これはできないのではないかなぁと思います。
    何かしらフックもしくはアクションがあるかもしれないですが・・・

    どうしてもget_sidebarを修正したりsidebar-blog.phpを増やしたりが嫌な場合は、複雑なことをするよりsidebar.phpの中で条件分岐をして読み込むウィジェットエリアを分けるほうが早いのではないかなぁと思います。

    #78388
    uishi
    参加者

    なるほどsidebar.phpで条件分岐するですか。
    勉強になりました。
    お忙しい中ありがとうございます。

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • このトピックに返信するにはログインが必要です。