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

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

Cocoon設定が真っ白
 
共有:
通知
すべてクリア

[解決済] Cocoon設定が真っ白

12 投稿
2 ユーザー
7 Reactions
167 表示
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

HP内容がボリュームがあるので、プラグイン等を全部オフにすることが難しく、この環境で

cocoon設定の画面が以前同様使えるものと、使えないものがでてきました。

https://jikka-katazuke.jp/

どうしたらよいでしょうか・・・すべてプラグインをオフにしなくても検証のできるような箇所がありましたらお教えください。

Xサーバー PHP 8.3.21 環境になります。


このトピックは3週間前 2回からhomareに変更されました

   
トピックタグ
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

homareさん

投稿者:: @homare

すべてプラグインをオフにしなくても検証のできるような箇所がありましたらお教えください。

以下のプラグインを使うと、ログインユーザーのみ、プラグインを無効にしたり、テーマを変更できたりします。
通常のサイト表示(非ログインユーザーに表示される内容)には、影響を与えません。

ヘルスチェック & トラブルシューティング (Health Check & Troubleshooting)
https://ja.wordpress.org/plugins/health-check/

WordPressのトラブルシューティングを劇的に楽にする「Health Check & Troubleshooting」プラグインの使い方。
https://nelog.jp/health-check-and-troubleshooting-plugin

 

ただ・・・。

必ずしも、プラグインが原因とは言えない気はします。
(まだ原因がはっきりしないという意味で)

  • デベロッパーツールのConsole部分に、エラーが表示されていないか
  • エラーログに、何か落ちていないか

上記等を確認しても、良いと思います。

 

 

デベロッパーツールについては。
Windows/Chromeであれば、「PF12」キーで起動できます。

Consoleは、デフォルトでは右下に表示されていると思います。



   
わいひら reacted
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

mk2さん、ありがとうございます。

そういえば数日前にイベントカレンダーからのエラーメールが来たのですが、HPの動作にどこもエラーがなく?

スルーしていました。

そのメールが来る前からCocoon設定の真っ白は見受けられていた気がします。

まずはヘルスチェック & トラブルシューティング (Health Check & Troubleshooting)を試してみます。



   
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

mk2さん

ありがとうございます!

なんと思った通りイベントカレンダープラグインが原因という事が発覚しました。イベントカレンダーを適用した瞬間にCocoon設定が真っ白に・・・

先日こんな恐怖のメールが送られてきたのですが、イベントカレンダーでの閲覧に問題がなかったので、断定できませんでした。

まずはプラグイン原因が発覚して一歩前に進みました。

 

---------------------------------------------------

WordPress には、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能があります。

今回の場合、WordPress がプラグイン The Events Calendar でエラーを捉えました。

まずはじめに、ご自分のサイト (https://jikka-katazuke.jp/&source=gmail&ust=1760272221739000&usg=AOvVaw1V77qwVPQQGnTNy_TjL1o 1"> https://jikka-katazuke.jp/ ) を開き、目に見える問題がないか確認してください。次に、エラーが発生したページ (https://jikka-katazuke.jp/wp-admin/admin.php?page%3Dtheme-settings&source=gmail&ust=1760272221739000&usg=AOvVaw18Fo_KWAAQQP7tgwarOQL T"> https://jikka-katazuke.jp/wp-admin/admin.php?page=theme-settings ) を開き、同様に問題がないか確認してください。

この問題をさらに調査するにはサーバーホストに連絡してみてください。

もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。

https://jikka-katazuke.jp/wp-login.php?action%3Denter_recovery_mode%26rm_token%3DWfBj1ppKHklgxQTgfHSIFb%26rm_key%3DSBpDlgKWGAriOkfLSixVcE&source=gmail&ust=1760272221739000&usg=AOvVaw2RbF0V1UMNgqvQvsQFwxz 3"> https://jikka-katazuke.jp/wp-login.php?action=enter_recovery_mode&rm_token=WfBj1ppKHklgxQTgfHSIFb&rm_key=SBpDlgKWGAriOkfLSixVcE

サイトを安全に保つため、このリンクは1日に有効期限が切れますが、ご心配なく。有効期限後にこのエラーが再度発生した場合は、新しいリンクをお送りします。

この問題を解決するためにヘルプを求めた場合、以下の情報を尋ねられるかもしれません。
WordPress バーション6.8.3
現在のテーマ: Cocoon Child (バージョン 1.1.3)
現在のプラグイン: The Events Calendar (バージョン 6.15.7)
PHP バージョン8.3.21

エラー詳細
===============
エラータイプ E_ERROR が /home/jikka/http://jikka-katazuke.jp/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/View.php&source=gmail&ust=1760272221739000&usg=AOvVaw2Twgcw5HQuM82EcVNrPuM Y">jikka-katazuke.jp/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/View.php ファイルの 1072 行目で発生しました。 エラーメッセージ: Uncaught TypeError: Unsupported operand types: string - int in /home/jikka/http://jikka-katazuke.jp/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/View.php:1072&source=gmail&ust=1760272221739000&usg=AOvVaw0H2XOH6VYVND7hbyz3yOz 9">jikka-katazuke.jp/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/View.php:1072
Stack trace: 以下省略


この投稿は3週間前 2回ずつhomareに変更されました

   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

homareさん

とりあえず、以下の方法で、Cocoonのプレビューを止めてみてください。

Cocoon設定のプレビュー表示制御フックのサンプルコード
https://wp-cocoon.com/cocoon-setting-preview-hook/

最初の全部止めるコードで良いと思います。



   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

私のローカル環境に以下をインストール。

投稿者:: @homare

The Events Calendar (バージョン 6.15.7)

そして、有効化。

特に設定などせずに、以下のようなウィジェットを、サイドバーに設置。
(これもデフォルト状態で、特に設定はしていません)

 
すると、以下のよように再現できました。
 
「固定ページ」「本文」「目次」「エディター」「リセット」など、一部タブが上記のように表示されない状態でした。
 
エラーログを確認すると、以下のようなメッセージがありました。
PHP Fatal error:  Uncaught TypeError: Unsupported operand types: string - int in \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\View.php:1072
Stack trace:
#0 \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\View.php(1720): Tribe\Events\Views\V2\View->prev_url(true)
#1 \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\Views\Widgets\Widget_View.php(102): Tribe\Events\Views\V2\View->setup_template_vars()
#2 \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\Views\Widgets\Widget_List_View.php(67): Tribe\Events\Views\V2\Views\Widgets\Widget_View->setup_template_vars()
#3 \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\View.php(740): Tribe\Events\Views\V2\Views\Widgets\Widget_List_View->setup_template_vars()
#4 \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\Widgets\Widget_Abstract.php(134): Tribe\Events\Views\V2\View->get_html()
#5 \wp-content\plugins\the-events-calendar\common\src\Tribe\Widget\Widget_Abstract.php(307): Tribe\Events\Views\V2\Widgets\Widget_Abstract->get_html()
#6 \wp-includes\class-wp-widget.php(394): Tribe\Widget\Widget_Abstract->widget(Array, Array)
#7 \wp-includes\widgets.php(845): WP_Widget->display_callback(Array, Array)
#8 \wp-content\themes\cocoon-master\lib\utils.php(2501): dynamic_sidebar('sidebar')
#9 \wp-content\themes\cocoon-master\lib\additional-classes.php(134): is_the_page_sidebar_visible()
#10 \wp-includes\class-wp-hook.php(326): body_class_additional(Array)
#11 \wp-includes\plugin.php(205): WP_Hook->apply_filters(Array, Array)
#12 \wp-includes\post-template.php(866): apply_filters('body_class', Array, Array)
#13 \wp-includes\post-template.php(622): get_body_class(Array)
#14 \wp-content\themes\cocoon-master\lib\page-settings\single-forms.php(99): body_class()
#15 \wp-content\themes\cocoon-master\lib\page-settings\_top-page.php(351): require_once('...')
#16 \wp-content\themes\cocoon-master\lib\original-menu.php(62): require_once('...')
#17 \wp-includes\class-wp-hook.php(324): add_theme_settings_page('')
#18 \wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#19 \wp-includes\plugin.php(517): WP_Hook->do_action(Array)
#20 \wp-admin\admin.php(260): do_action('toplevel_page_t...')
#21 {main}
  thrown in \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\View.php on line 1072

 

プラグインで、以下のエラーが出ています。

PHP Fatal error: Uncaught TypeError: Unsupported operand types: string - int in \wp-content\plugins\the-events-calendar\src\Tribe\Views\V2\View.php:1072

「string - int」ということで、文字列と数値の演算が起きています。

この該当の1072行目は以下で。

https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.15.7/src/Tribe/Views/V2/View.php#L1072

$paged           = $this->url->get_current_page() - 1;

ただ、「$this->url->get_current_page()」の値を確認すると、int型の「1」でした。

 

そこで、get_current_page()を確認してみましたが。

https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.15.7/src/Tribe/Views/V2/Url.php#L132

	public function get_current_page() {
		return Arr::get_first_set( $this->get_query_args(), [ 'paged', 'page' ], 1 );
	}

ここに問題があるようで、Arr::get_first_set()が必ずしも数値を返さないケースがあるようです。
(つまり、get_current_page()が数値でなくなる)

試しに、get_current_page()を以下のように修正してみると、問題なくなりました。
(数値でない場合は、強制的に数値の1にしてみました)

public function get_current_page() {
    $page = Arr::get_first_set( $this->get_query_args(), [ 'paged', 'page' ], 1 );

    // 数値以外が入っていた場合は 1 とみなす
    return is_numeric( $page ) ? (int) $page : 1;
}

 

上記のような感じで、プラグイン側の問題かなとは思うのですけれど。
それ以上は、追っていません。

とりあえず、Cocoonのプレビューを停止すると、Cocoon設定は表示されました。
(プレビューは停止しますけれど)



   
わいひら reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

お返事なくなっちゃいましたけど。
(解決したのであれば、その旨お返事をいただけると有難いですが・・・。解決しないなら、その旨・・・)

良く見ると、「投稿」タブの「関連記事設定」のプレビューにエラー出ていました。

 

ここでエラーになっているので、その後の「固定ページ」以降のタブが表示されない感じですね。

ちなみに、以下も確認してみました。

投稿者:: @mk2_mk2

そこで、get_current_page()を確認してみましたが。

https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.15.7/src/Tribe/Views/V2/Url.php#L132

	public function get_current_page(){
		return Arr::get_first_set( $this->get_query_args(), [ 'paged', 'page' ], 1 );
	}

ここに問題があるようで、Arr::get_first_set()が必ずしも数値を返さないケースがあるようです。
(つまり、get_current_page()が数値でなくなる)

Arr::get_first_set()には「theme-settings」が入っていました。
(なるほど・・・)

それで、「theme-settings - 1」(文字列 - 数値)の演算が発生して、エラーという感じです。



   
わいひら reacted
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

mk2さん!

すでに諦めモードになって黄昏ていたところ、ご返信頂いていたのですね!
本当に有難う御座います。

mk2さんに教えて頂いた後、PHPを非推奨の7まで落としたらCocoon設定が復元できていました。
ご相談してから翌々日?くらいにイベントカレンダーの更新が来ていましたが、Cocoon設定が見えないままです。
(余談ですが、イベントカレンダーの更新頻度、結構多いのでプラグイン側の問題だと自分も思います)

しかし解決になっておらず、一旦原因のプラグイン、イベントカレンダーをキープしつつ、
Cocoon設定を変更したいときだけ、サーバーにログインして、PHPを7にしようと、自己解決し悶々としていました。

これから、mk2さんにお教え頂いた以下の設定をやってみたいと思います!

とりあえず、以下の方法で、Cocoonのプレビューを止めてみてください。

Cocoon設定のプレビュー表示制御フックのサンプルコード
https://wp-cocoon.com/cocoon-setting-preview-hook/

最初の全部止めるコードで良いと思います。



   
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

mk2さん

なんとCocoon設定はプレビューは無くてもおかげさまで設定できるようにまでなりました〜!!!! 😆 
有難う御座います!ひとまず安心です。

また、お調べ頂いた以下の設定は自分には難しくて修正出来そうにありませんでした。
今後の作業に問題があるのであれば、修正できるような操作があれば教えて頂けたら大変助かります!

良く見ると、「投稿」タブの「関連記事設定」のプレビューにエラー出ていました。



   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

homareさん

とりあえずCocoon設定が使えるようになったみたいで、良かったです。

投稿者:: @homare

お調べ頂いた以下の設定は自分には難しくて修正出来そうにありませんでした。

ああいえ、そういうことではないんです。

プラグインが原因で発生してるんだよねということを、調べているに過ぎません。

修正も、決してプラグインの仕様を考慮したものではなく、まずはプラグインが原因だと、はっきりさせるためにしただけです。

それに、プラグインを修正しても、プラグインをバージョンアップすると、戻ってしまいますので、意味はないです。

 

プレビューは、個別に停止できたと思います。

そのため、エラーが出ているプレビューだけ停止するというのも、一案ではあります。

「投稿」タブの関連記事は、先にリンクしたページに載っている以下の部分だと思います。

投稿者:: @mk2_mk2

Cocoon設定のプレビュー表示制御フックのサンプルコード
https://wp-cocoon.com/cocoon-setting-preview-hook/

//投稿(関連記事)
add_filter('cocoon_setting_preview_singular_related_entries', '__return_false');

ただ、「投稿」タブ以降もエラーは出るかもしれませんので、そこまでは確認していないです。

エラーが出るところは、全て停止させるしかないです。

(プラグインが修正されない限りは)



   
わいひら reacted
(@homare)
Active Member Registered
結合: 3週間前
投稿: 6
トピックスターター  

mk2さん

本当に、このCocoonフォーラムに相談をし、mk2さんに回答頂き良かったです。涙
プラグインアレルギーを起こす寸前でした。

この先、プラグインの修正を待ち、エラーメールが続けてあまり来る様であれば、Post Type Switcher
というプラグイン( https://ja.wordpress.org/plugins/post-type-switcher/ )で通常投稿に一括変更できるようだったので、ワードプレスの通常投稿として、(カテゴリー「イベント」等名前を付けて)管理していこうと思いました。

そして、イベントカレンダー・プラグインでの投稿を一旦中止しようと思います。
この作業自体、失敗したらどうしようとドキドキしますが・・・頑張ってみます。

本当に、ありがとうございました。



   
わいひら reacted
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 5年前
投稿: 9247
 

homareさん

とりあえず、騙し騙しでも、運用できると良いですね。

WordPress.orgの「The Events Calendar」のサポートを確認してみると。
このプラグイン、他の場所でもPHPエラーを多数発生させているみたいです。

https://wordpress.org/support/plugin/the-events-calendar/

こんなに多数発生しているとなると、ちょっと今は不安定な印象は受けますね。
安定するには、少し時間が掛かるのかもしれません。
(1年9か月前のPHP8.2非推奨メッセージ対応の件が、まだトップ固定されているくらいですし。解決済にはなっていますけれど)

ここのサポートに、エラーの内容(Stack trace含めて)書き込むと、対応してくれるかもしれませんよ。
(私は、英語が不自由なもので遠慮します。日本語も不自由なくらいですし)



   
homare and わいひら reacted
共有:

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

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

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

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

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

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

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

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