Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

サイドバーウィジェットの動作について
 
共有:
通知
すべてクリア

[解決済] サイドバーウィジェットの動作について

6 投稿
3 ユーザー
6 Reactions
1,242 表示
(@river)
New Member
結合: 4年前
投稿: 4
トピックスターター  

素晴らしいテーマありがとうございます。

●カスタマイズ内容:サイドバーにタブ切り替えを付ける

●相談内容:読み込み時にサイドバーウィジェットのみ「checked="checked"」が反映されない

他のサイトを参考にして、タブ切り替え用のコード(ラジオボタン使用)を記載し、サイドバーウィジェットに記載しました。

(目的はランキングの月間、週間の切り替え表示。後でショートコードを使う)

HTMLでラジオボタンの2つのうち、1つ目のタブにデフォルトでチェックを入れ、読み込んだ際にはその内容が表示されるコードです。

しかし、読み込んだ際に1の内容が表示されず、2つのラジオボタンのどちらもチェックが入っていない状態です。(読み込んだ後にタブをクリックした時は正常に表示されます。)

https://test03.tsuchie.org

不思議なことに「サイドバースクロール追従」「コンテンツ上部」など、「サイドバー」以外では、狙い通りに表示されます。

「サイドバー」だけなぜ動作しないのか分かりません。

※サイトはテスト用サイトで、ほぼデフォルトのままです。高速化設定も行っていません。

何か分かることがあれば、どうぞよろしくお願い申し上げます。

(HTML)

<div class="tab-wrap">
<input id="TAB-01" type="radio" name="TAB" class="tab-switch" checked="checked" /><label class="tab-label" for="TAB-01">All</label>
<div class="tab-content">ALLの内容
</div>
<input id="TAB-02" type="radio" name="TAB" class="tab-switch"/><label class="tab-label" for="TAB-02">Weekly</label>
<div class="tab-content">Weeklyの内容
</div>
</div>

(CSS)

https://codepen.io/mt1212/pen/abyOZjP

サイトの現状

----------------------------------------------
サイト名:テストサイト
サイトURL: https://test03.tsuchie.org
ホームURL: https://test03.tsuchie.org
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
親テーマスタイル:/wp-content/themes/cocoon-master/style.css
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
WordPressバージョン:5.8.1
PHPバージョン:7.4.23
ブラウザ:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:2.3.6.3
カテゴリ数:1
タグ数:0
ユーザー数:1
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.1.3
style.cssサイズ:1696バイト
functions.phpサイズ:203バイト
----------------------------------------------
Gutenberg:1
AMP:0
PWA:0
Font Awesome:4
Auto Post Thumbnail:0
Retina:0
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:0
HTML縮小化:0
CSS縮小化:0
JavaScript縮小化:0
Lazy Load:0
WEBフォントLazy Load:0
----------------------------------------------
利用中のプラグイン:
SiteGuard WP Plugin 1.6.0
----------------------------------------------


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

● 原因

サイドバーで動作しないのは、「モバイルメニュー」が原因です。

Cocoon では、レスポンシブ対応や AMP 対応のために、サイドバーのウィジェットは、モバイルメニューで開くサイドバーでも使われます。つまり、1 つのウィジェットが 2 つあります。

id などは重複しない処理がされているのですが、name は重複します。そのため、同じ name を持つ input が 4 つあります。

その結果、モバイルメニューで開くサイドバーでは動作しています(※ 添付画像)。一方、パソコンで確認できるサイドバーでは動作していません。

※ type="radio" は同時に 1 つしか選択できないため、HTML で後にあるモバイルメニューで開くサイドバーの input が選択されている。

● 解決方法

name を置換すれば解決します。

下記リンクのコードを子テーマの functions.php に追加します。モバイルメニューで開くサイドバーの name を置換するものです。手間をかけずに書いたため、str_replace で置換しています。

https://notepad.pw/share/83cvtx41y

name の slideTAB は適当につけました。

この投稿は3年前ずつAkiraに変更されました

   
(@river)
Active Member Registered
結合: 4年前
投稿: 12
 

ご丁寧なご回答をいただき、ありがとうございます。

コードを追加したら上手く表示されました!

モバイルメニューが関係していたとは思いもかけませんでした。

勉強になりました。

 


   
(@river)
Active Member Registered
結合: 4年前
投稿: 12
 

ルールをよく読まず、申し訳ございません。

最初の質問でソースコードを直接貼り付けてしまいました。

編集できないようですが、どのようにしたらよいでしょうか。

 


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

最初の質問でソースコードを直接貼り付けてしまいました。

編集できないようですが、どのようにしたらよいでしょうか。

問題ないと思います。

私が notepad にコードを貼り付けたのは、コードを書くとコメントを送信できなかったためです。このフォーラムで PHP を書くと、たまに攻撃者と判断され、コメントを送信できない時があるんです。


   
わいひら and river reacted
(@river)
Active Member Registered
結合: 4年前
投稿: 12
 

安心しました。

この度はいろいろとありがとうございました。


   
わいひら reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました