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カスタマイズ依頼

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

Ver2.5.0.4でPC表示の時、サ...
 
共有:
通知
すべてクリア

[解決済] Ver2.5.0.4でPC表示の時、サイドバーが表示されない場合がある

15 投稿
2 ユーザー
9 Reactions
3,218 表示
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

2点問題があります。
----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.0.4
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------
●関連記事
https://wp-cocoon.com/community/postid/65405/

●モバイルサイドバーのHTML抜粋

Ver2.5.0.3
<div id="sidebar-menu-content" class="sidebar-menu-content menu-content">
<label class="sidebar-menu-close-button menu-close-button" for="sidebar-menu-input">
<span class="fas fa-times" aria-hidden="true">
</span>
</label>
<div id="slide-in-sidebar" class="sidebar nwa cf" role="complementary">
サイドバーウィジェットのコピー
</div>
</div>

Ver2.5.0.4
<div id="sidebar-menu-content" class="sidebar-menu-content menu-content">
<label class="sidebar-menu-close-button menu-close-button" for="sidebar-menu-input">
<span class="fas fa-times" aria-hidden="true">
</span>
</label>
←Ver2.5.0.3と異なり、はじめ要素が無い(*)
</div>

●設定
[Cocoon設定]→[モバイル]→モバイルメニュー「フッターモバイルボタン」

●動作
2.5.0.3以前はtmp/mobile-sidebar-button.phpでPC用サイドバー(#sidebar)をコピーし、モバイル用サイドバー(#slide-in-sidebar)を設けていた。
2.5.0.4でフッターモバイルボタン「サイドバー」をクリックした際、#sidebarをsidebar-menu-contentに移動させる。(上記*の部分)

●問題1
サイドバーのidが従来と異なり#slide-in-sidebar→#sidebarとなる。
個別にデザインしていた場合、idが異なる為、CSSの見直しが必要となる。
図上参照。

●問題2
●現象

フッターモバイルボタン「サイドバー」をクリックし、サイドバーを表示したままとする。
この状態で画面幅を変化(PC表示)させた場合、サイドバーが表示されない
(Chromeでレスポンシブ確認の際、モバイル→PCと画面幅を変更)
図下参照。

●原因
フッターモバイルボタン「サイドバー」をクリックすると、チェックボックス(#sidebar-menu-input)がオンとなる。
オンになると、javascript.jsでサイドバー(#sidebar)を、モバイルメニューコンテンツ(#sidebar-menu-content)に移動する。
結果、PCコンテンツは本来、メイン、サイドバーだが、サイドバーが無い状態になる。

この時、PC表示の画面幅にすると、モバイルの要素(#menu-footer-menu)は非表示(display:none)となる。
しかし、チェックボックスがオンのままの為、PCコンテンツに移動しない
結果、PC表示の時、PCコンテンツはメインのみでサイドバーが消えた状態となる。


   
わいひら reacted
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

少し案を考えてみました。

●対策案
ウィンドウサイズが変化したら以下とする。

  • フッターモバイルボタン「サイドバー」のチェックボックスをオフ
  • サイドバーを元に戻す
$('#sidebar-menu-input').change(function() {
  if($(this).prop('checked')){
    $('#sidebar').appendTo('#sidebar-menu-content');
  }else{
    $('#sidebar').insertAfter('#main');
  }
});

↓以下を追加 
$(window).resize(function(){
  $('#sidebar-menu-input').prop("checked", false);
  $('#sidebar').insertAfter('#main');
});


   
わいひら reacted
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

●設定
[Cocoon設定]→[モバイル]→モバイルメニュー「フッターモバイルボタン」

●問題1の結果
slide-in-で検索した親テーマスキン、以下のCSSのモバイルサイドバーは正しく表示(●)されました。
(-)は隠しスキンで確認していません、ご了承下さい。

\skins\bizarre-foods-blackburger\style.css
\skins\bizarre-foods-blackburger\style.css
\skins\bizarre-foods-bluecurry\style.css
\skins\bizarre-foods-greensoba\style.css
\skins\bizarre-foods-pinkwine\style.css
\skins\bizarre-foods-whiteramen\style.css
\skins\skin-dark-enji\style.css
\skins\skin-dark-kamonoha\style.css
\skins\skin-dark-ruri\style.css
\skins\skin-innocence\style.css
\skins\skin-neumorphism\style.css
\skins\veilnui-simplog-amber\style.css
\skins\veilnui-simplog-blue\style.css
\skins\veilnui-simplog-brown\style.css
\skins\veilnui-simplog-cyan\style.css -
\skins\veilnui-simplog-deep-orange\style.css -
\skins\veilnui-simplog-deep-purple\style.css
\skins\veilnui-simplog-green\style.css
\skins\veilnui-simplog-indigo\style.css
\skins\veilnui-simplog-light-blue\style.css -
\skins\veilnui-simplog-light-green\style.css -
\skins\veilnui-simplog-lime\style.css -
\skins\veilnui-simplog-orange\style.css
\skins\veilnui-simplog-pink\style.css
\skins\veilnui-simplog-purple\style.css -
\skins\veilnui-simplog-red\style.css
\skins\veilnui-simplog-teal\style.css
\skins\veilnui-simplog-yellow\style.css -

 

●問題2の対策案
先の対策案の改善です。

  • チェックを解除し、changeを発火させる。
  • サイドバーを元に戻すのは、元ソースに任せる
  $(window).resize(function(){
    $('#sidebar-menu-input').prop('checked', false).change();
  });

 


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

新しいjQueryコード追加しておきます。
僕も修正するとしたら後者の案で修正すると思います。

投稿者:: @chu-ya

●問題1
サイドバーのidが従来と異なり#slide-in-sidebar→#sidebarとなる。
個別にデザインしていた場合、idが異なる為、CSSの見直しが必要となる。
図上参照。

仕様変更に対する独自カスタマイズの影響は、自己責任で対応していただくしかないと思います。
もっとカスタマイズされそうなところだったら大きく影響でそうですが、今回の部分はそこまで自前でカスタマイズする部分ではないのでそこまで影響はないように思います。
ただ全く影響はないということはないと思うので、そういう場合はやはり自前で対応していただくしかないかと思います。
そういった影響があったとしても、今回のように修正したほうが利用者の利益が大きいように思います。

新スキンについては存じていましたが、昨日は単にテスト実装だったのでスキン対応とかはしていませんでした(量が多かったので…)。
スキン対応やjavascript.jsの部分は、時間がある時に修正しようと思います。

 


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  
投稿者:: @yhira

新スキンについては存じていましたが、昨日は単にテスト実装だったのでスキン対応とかはしていませんでした(量が多かったので…)。
スキン対応やjavascript.jsの部分は、時間がある時に修正しようと思います

了解しました。対応完了しだい再確認しようと思います。
なお、Ver2.5.0.4の親スキンについて確認しました。(上記参照)


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

修正しておきました。
こんな感じで.slide-in-sidebarを操作する感じにしました。

  //モバイルサイドバー表示時にサイドバーを移動する・モバイルサイドバーを閉じる時に元の位置に戻す
  $('#sidebar-menu-input').change(function() {
    if($(this).prop('checked')){
      $('#sidebar').appendTo('#sidebar-menu-content');
      $('#sidebar').addClass('slide-in-sidebar');
    }else{
      $('#sidebar').removeClass('slide-in-sidebar');
      $('#sidebar').insertAfter('#main');
    }
  });

これでCSSを#slide-in-sidebar→.slide-in-sidebarに変換すれば大抵の場合は対応できると思います。
※CSSの優先度は弱くなってしまいますが大抵は大丈夫かなと

https://github.com/xserver-inc/cocoon


   
chu-ya reacted
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

指摘の2点を確認したので、本件はクローズします。
----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.0.5
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------
●設定
[Cocoon設定]→[モバイル]→モバイルメニュー「フッターモバイルボタン」

●確認

問題1
フッターモバイルボタ「サイドバー」の時、classにslide-in-sidebarが追加されている事を確認しました
図参照。

問題2
対策されている事を確認し。
モバイル、PCでサイドバーが正しく表示される事を確認しました。

●余談
一度、以下のように#slide-in-sidebarを残す事も考えました。
従来のように、サイドバーの全id属性を変更していたので、余程、複雑なカスタマイズをしなければclass追加も必要ないかと思われますね。

$('#sidebar-menu-input').change(function() {
  if($(this).prop('checked')){
    $('#sidebar').appendTo('#sidebar-menu-content');
    $('#sidebar').attr('id','slide-in-sidebar');
  }else{
    $('#slide-in-sidebar').attr('id','sidebar');
    $('#sidebar').insertAfter('#main');
  }
});

   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

僕もそれは考えたんですけど、IDと言えば一意性なのでなんか抵抗がありました。
とはいえ、そのように実装すれば、ユーザーさんが実装している独自カスタマイズとかにもノーリスクで対応できるんですよね。
原理をとるか利便性を取るか。
改めてご指摘を受けると利便性があるほうが、やっぱ利用者にとっては有益ですよね。
後で提示していただいた仕様変更に向けて検討したいと思います。
元々Cocoonも、そんな原理原則に則って作っているものでもないですし。


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

GitHubのファイルを変更しておきました。


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.0.6
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------
●設定
[Cocoon設定]→[モバイル]
→モバイルメニュー「フッターモバイルボタン」
モバイルボタン「モバイルボタン時コンテンツ下のサイドバーを表示」

●現象
コンテンツ下にサイドバーを表示にチェックすると
モバイル時、サイドバー(#sidebar)がメイン(#main)下に表示される
この時、フッターモバイルボタン「サイドバー」をクリックすると、メイン下のサイドバーが消える

●原因
#sidebarを、従来の#side-in-sidebarとして移動させるため。

●見解

私の見解ですが以下の理由で実害はないと思います。

  • フッターモバイルボタン「サイドバー」が解除されると、メイン下に戻る。
  • 従来のように、フッターモバイルボタン「サイドバー」が表示されると、上に重なる為に、メイン下のサイドバーを選択できない。

わいひらさんの意見を伺いたく。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

ご確認いただきありがとうございます!
こればっかりは移動させてしまっているので、どうしようもないと思います。
chu-yaさんが書かれている通り、僕もほぼ実害はないから問題ないように思います。
それによる害よりもサイドバーを複製しないメリットの方が上回ると思っております。


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  

@yhira さん

----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.0.6
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------
●現象
モバイルボタン「モバイルボタン時コンテンツ下のサイドバーを表示」オン/オフに関係なく、常にメイン下にサイドバーが表示される

●原因
style.css

オン/オフに関係なく表示される。

10024行目
.no-mobile-sidebar .sidebar,←2.5.0.6で削除している。
.mobile-button-fmb .go-to-top-button,
.no-mobile-header-logo #header .logo-header {
  display: none;
}

-----
上記修正だけでは、モバイルボタンクリックの時、サイドバーの中身が表示されない。

7418行目
#slide-in-sidebar(Ver2.5.0.3)→#sidebar-menu-content #sidebar(Ver2.5.0.4) {
  display: block;
  margin: 0;
}

Ver2.5.0.6
jQueryのidを#slide-in-sidebarに戻したが、style.cssは戻していない。

●対策
10024行目
.no-mobile-sidebar .sidebarを追加。
1023px幅以下の時、オフ(.no-mobile-sidebar)の時はサイドバー(.sidebar)を非表示とする。

7418行目
以下に戻す。(Ver2.5.0.3)
モバイルボタンクリックの時のサイドバーは表示とする。
#slide-in-sidebar {
  display: block;
  margin: 0;
}


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

ご指摘ありがとうございます。
修正しておきました。
こういったことであっておりますでしょうか。
https://github.com/xserver-inc/cocoon/commit/010e4e18c004082aaf175c5fe45ca5556691769e#diff-b78be019f1dc6d57753ea900c3805b114cd53ab7c0db836cc081836df1b99b7a


   
chu-ya
(@chu-ya)
Famed Member Registered
結合: 3年前
投稿: 2895
Topic starter  
投稿者:: @yhira

こういったことであっておりますでしょうか。

----------------------------------------------
テーマ名:Cocoon
バージョン:2.5.0.7
カテゴリ数:19
タグ数:146
ユーザー数:1
----------------------------------------------

上記であっています。
確認できたので、本件をクローズします。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

ご確認いただきありがとうございます!


   
共有:

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

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

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

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

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

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

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

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