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

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

サイドバーの表示状態「フロントページで...
 
共有:
通知
すべてクリア

[解決済] サイドバーの表示状態「フロントページで非表示」の動作仕様について確認したく

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

フロントページ、インデックスページの用語の定義を明確にしたく。
フロントページはHPを開いた際のTOPページと思いますが、違いますか?
図に示す事を期待したのですが。

 

●手順
[Cocoon設定]→[全体]、サイドバーの表示状態「フロントページで非表示」

[Cocoon設定]→[インデックス]、フロントページタイプ(β版)を切替え選択

 

●動作
図に示す組合せで確認し。

カテゴリのみ「もっと見るボタン」をクリックし次ページを表示した時のみ、サイドバーが表示される
※アーカイブページのみ、サイドバーが表示される。

一覧(デフォルト)の時、フロントページで非表示=インデックスページで非表示
となり、一覧ページではサイドバーが表示されない。


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

フロントページ、インデックスページの用語の定義を明確にしたく。
フロントページはHPを開いた際のTOPページと思いますが、違いますか?

現時点では、WordPressのis_front_page関数で真のものかつ、ページを有していないものとしています。

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

図に関してですが、テーブルの行は5行ありますが、どんな場面かを明確にするために、URLもそれぞれいただいてよろしいでしょうか。
URL構造さえわかれば良いので、実際のサイトのURLでなくても構いません(ドメインとかは架空のもので良いです)。
ちょっとテーブルの見方がわからない部分もあるので、認識の齟齬をなくすためにもよろしければお願いいたします。


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

●条件
サイドバーの表示状態は「フロントページで非表示」
URLのドメイン名は仮にxxx.com

●確認事項
xxx.comの時、トップページと解釈しています。

フロントページタイプの設定に応じ、xxx.comの表示が変わり。(下表を参照)
xxx.comに表示される「次のページ」「もっと見る」ボタンをクリックした時、次に表示されるページ(URL)にサイドバーが表示されず。


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

気付いた事を以下に記します。


●is_front_page

関数リファレンスを見るとis_front_pageに以下の記述があり。

TRUE を返すのは、管理画面の 設定 > 表示設定 > フロントページの表示 に「最新の投稿」を選択していて最新の投稿ページが現在表示中の場合。

この為、新着記事の場合(2ページ以降も)、常にTUREが返却されるのでは?

●サイドバーが表示/非表示
bodyに.no-sidebarを追加し、CSSで表示/非表示としている。

●原因

utils.php

図の部分で現在のページが、フロントページか可否を判定している。
この時、is_front_pageを用いているが、2ページ以降も常にTRUEとなり、.no-sidebarが付加される。
is_front_top_pageが正しいのでは?


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

図を添付します。


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

更に調べて気付いた事があり。
タブ一覧のメニュー表示と同じで、is_front_index_pageが実が正ですかね?


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

私が思うフロントページは、is_front_page() が true を返すページです。ですので、フロントページの 2 ページ目以降もフロントページです。フロントページの 1 ページ目のみをフロントページというのは、私にはしっくりきません。

また、仕様の変更には疑問を感じます。理由は、「サイドバーが表示されるようになりました。」との不具合報告がフォーラムに寄せられるのは目に見えているためです。

2 ページ目以降のフロントページや URL に ?cat=0 が含まれるページでサイドバーを表示したい場合は、私であればフィルターフックの is_the_page_sidebar_visible() を使いカスタマイズします。

https://notepad.pw/share/qzl3q2jg6


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

@akira 

is_front_pageがTRUEを返却すると言うのは理解でき。
どんな時、TRUEを返却するのか?です。←ここで、つまずき誤解があるのだと思います。

最新投稿」=投稿記事一覧
複数ページあるので、2ページ以降も全てフロントページとなる、と言う解釈であっていますか?

 


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

URL構造を頂いたおかげで、明確に意図が分かりました。
ありがとうございます。

●原因

utils.php

図の部分で現在のページが、フロントページか可否を判定している。
この時、is_front_pageを用いているが、2ページ以降も常にTRUEとなり、.no-sidebarが付加される。
is_front_top_pageが正しいのでは?

更に調べて気付いた事があり。
タブ一覧のメニュー表示と同じで、is_front_index_pageが実が正ですかね?

こちら、おっしゃる通りです。
is_front_top_pageは間違って提示していました(is_front_index_pageについて半分忘れかけていました…)。申し訳ありません。
修正したものをGitHubにアップしておきました。

私が思うフロントページは、is_front_page() が true を返すページです。ですので、フロントページの 2 ページ目以降もフロントページです。フロントページの 1 ページ目のみをフロントページというのは、私にはしっくりきません。

申し訳ないです。僕の作った当時の認識でも、Cocoonとしてのフロントページは「h ttps://xxx.com/」なるとなるサイトのトップページのみで、そこのみにサイドバーを表示しないよう意図して作成していました。
なので今回の動作は、僕の中では不具合動作です。
もしフォーラムに書き込みが多数来たら、都度「以前の動作が不具合で僕がコーディングミスをしていました」と説明させて頂きます。


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

他の、is_front_top_page使用部分もis_front_index_pageでないかこの後確認致します。
多分変更することになるかと思います。


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

説明文の記述も「フロントページ」から「フロントトップページ」か何かのフロントページとは違う記述に変更しておこうと思います。


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

@yhira 

回答ありがとうございます。
そもそも私が、WordPressの用語を熟知していない事に端を発しますが。

https://cotodama.co/front_page-home/#i

上記を読み、@akiraさんの言う事も分かり。
ただ、以下の意味あいが大きく、いまひとつピンと来なく。

フロントページ、新聞の第一面や本の扉、ウェブサイトのトップページなどを意味する語。


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

意図しない不具合だったとのこと了解しました。

実は、私が保守をしている友人のサイトの 1 つがサイドバーを「フロントページで非表示」にしていました。chu-ya さんのご指摘が連休中だったこともあり、余裕をもって対応できました。


   
わいひら reacted
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

もし、フォーラムにお問い合わせがあった場合は、リンク先としてお使いください。

以下のコードを子テーマの functions.php に追加すれば、以前と同じく「フロントページで非表示」で 2 ページ目以降のフロントページでもサイドバーが非表示になります。

add_filter( 'is_the_page_sidebar_visible', function( $is_sidebar_visible ) {
  if ( get_sidebar_display_type() === 'no_display_front_page' && is_front_page() ) {
    $is_sidebar_visible = false;
  }
  return $is_sidebar_visible;
});

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

is_front_index_pageとis_front_top_pageは間違えやすいので、is_front_top_pageのみにして以下で統一することにしました。

//フロントトップページかどうか
if ( !function_exists( 'is_front_top_page' ) ):
function is_front_top_page(){
  return is_front_page() && !is_paged() && (!isset($_GET['cat']) || (isset($_GET['cat']) && $_GET['cat'] !== '0'));;
}
endif;

正直、「フロントトップページは、トップページのみ」とするならば「isset($_GET['cat']) && $_GET['cat'] !== '0'」部分も必要ないような気がしますが、とりあえず残しておきます。あとで条件変更するかも。

変更点
https://github.com/yhira/cocoon/commit/43497c95a3744e3450e22bf82b1129b88d624d0f
動作確認した限りでは、問題はなかったけど、もう少し動作確認してみます。


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

説明文の記述も「フロントページ」から「フロントトップページ」か何かのフロントページとは違う記述に変更しておこうと思います。

こちら「フロントページ」と書かれているところをすべてチェックしてみたのですが、「フロントページ」と書かれている設定項目名も多かったです。
なので、キャプション変更することにより、検索から見つけた設定方法などの名称が変わってしまう弊害が出てしまい、逆にフォーラムに問い合わせを増やす原因となりそうなので、キャプションや説明文の「フロントページ」→「フロントトップページ」変更は見送ることとしました。
今WEB上にある、解説ページなどが無駄になってしまうのも忍びなく…。


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

キャプション以外の説明文のみを「フロントトップページ」に
変更することも考えたのですが、名称が二つあることで逆にややこしくなりそうだったのでこちらも見送りました。


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

今のままで何も問題ありません。わいひらさんのご負担が増えるのは避けたいです。

しかし、いつも思うのは、WordPress > 設定 > 表示設定 の「ホームページの表示」関係の言葉が紛らわしい。chu-ya さんのご指摘のように「トップページ = フロントページじゃないの?」とか「固定ページを設定した時の投稿ページって何?他に言葉はあったでしょ」とか。用語集にフロントページの説明はないしな。


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

おすすめカードでもフロントページと言う言葉があり。
こちらは、xxx.com、xxx.com/2/?cat=0のみ表示され。

[Cocoon設定]→[おすすめカード]→おすすめカードの表示「フロントページのみで表示

この事もあり、用語の疑問に始まり。
ネット検索しても、ズバリこれがフロントページと実例が見つからず。
結果、このような状況に陥り笑


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

Cocoonの「フロントページ」解説ページを作っておこうと思います。
定義としてはこんな感じにしようかなと思います。

Cocoonで言う「フロントページ」とは、ドメインのトップURL(当サイトで言えば、h ttps://wp-cocoon.com/)のみで開かれるトップページのことです。

上記が一番シンプルで、わかりやすいのかなと。
なので、やっぱcat=0は「フロントページ」に含めないようにしようと思います。


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

----------------------------------------------
テーマ名:Cocoon
バージョン:2.4.3.3
カテゴリ数:17
タグ数:80
ユーザー数:1
----------------------------------------------
[Cocoon設定]→[全体]→サイドバーの表示状態「フロントページで非表示」
の動作について確認しました。
本件はこれでグローズします。


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

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


   
共有:

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

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

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

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

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

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

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

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