ウィジェットが初期化される
-
投稿者投稿
-
2016年4月22日 6:28 PM #78347komori参加者
——————————————-
WordPress のバージョン:4.5
Welcart のバージョン:1.8.2
ご利用のテーマ:welcart basic
症状を確認したブラウザ:google chrome
サーバー(会社名、サービス名):お名前.com
SSLの利用:
WordPress のパーマリンク設定:基本
——————————————–カスタマイズ画面やウィジェット変更の画面でいくら削除してもblogページにお薦め商品やベストセラーが出てきて消せません。
また登録してもblogのみに対応させるウィジェットが反映されません。
blogページにはページ専用にサイドバーを用意して商品ページとは分離させているのですが勝手に読み込まれます
ブログページ用のサイドバーではデフォルトのウィジェットを表示させるプログラムを削除しています。
解決策はありますか?
ブログページでは商品の紹介を載せたくないので2016年4月25日 9:32 AM #78356yasumaxキーマスターこんにちは。
どんな手順でウィジェット領域を増やしたのでしょうか?
blogページとは「blog」カテゴリーのカテゴリーページですか?詳細ページですか?
詳細が不明なため「手順のどこかが間違っているのでは」という曖昧な回答しかできませんが、どんなコードを書いたのかや何のテンプレートを増やしたのかなどがわかればもう少しアドバイスができるかと思います。また、Welcart Basicは随時更新が行なわれますので変更を加える場合は子テーマをご利用ください。
子テーマについては、下記をご参照ください。
・Welcart Basicドキュメント 子テーマ作成方法2016年4月25日 3:52 PM #78381komori参加者ウィジェットエリアが初期化される症状はいきなりなくなりました。
なにがどうなってそうなったのかは分かりません。
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カテゴリーを表示させない方法はありませんでしょうか?
2016年4月25日 4:59 PM #78383yasumaxキーマスターこんにちは。
ブラウザかサーバーかのキャッシュだったのでしょうか。。。
解決したようで安心いたしました。
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; }
また、表題と質問が異なる場合はあらためてトピックを立てなおしてもらえると助かります。2016年4月25日 5:10 PM #78385komori参加者教えていただいたプログラムに書き直した所解決しました。
ありがとうございます2016年4月26日 7:37 AM #78386uishi参加者後学のためにお聞きしたいが
条件付けしたりget_sidebarにblog指定しないで、
sidebar-blog.phpが反映されるもんなんでしょうか。2016年4月26日 9:30 AM #78387yasumaxキーマスターこんにちは。
uishiさん>
get_sidebarにblog指定しないで、
sidebar-blog.phpが反映されるもんなんでしょうか。これはできないのではないかなぁと思います。
何かしらフックもしくはアクションがあるかもしれないですが・・・どうしても
get_sidebar
を修正したりsidebar-blog.php
を増やしたりが嫌な場合は、複雑なことをするよりsidebar.phpの中で条件分岐をして読み込むウィジェットエリアを分けるほうが早いのではないかなぁと思います。2016年4月26日 9:34 AM #78388uishi参加者なるほどsidebar.phpで条件分岐するですか。
勉強になりました。
お忙しい中ありがとうございます。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。