「メイド・イン・ヘブン」スキン適用中

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

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

WordPress がテーマ Coco...
 
共有:
通知
すべてクリア

[解決済] WordPress がテーマ Cocoon でエラーを捉えました。というメールが届く

17 投稿
3 ユーザー
10 Likes
1,072 表示
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

cocoonの子テーマで、プラグインの「Custom Field Template」(バージョン2.5.8)を使用しており、ある時からカスタムフィールドの画像を正しくアップロードできなくなりました。その度に以下のようなエラーメールが届きます。プラグインの問題でしょうか?それともテーマが何らかの原因で壊れてしまったのでしょうか?
*****メール内容***************************************************
WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
今回の場合、WordPress がテーマ Cocoon でエラーを捉えました。
********省略************
この問題をさらに調査するにはサーバーホストに連絡してみてください。
もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。
********省略************
この問題を解決しようとする際、以下の情報を聞かれるかもしれません。
WordPress バーション6.1.1
現在のテーマ: Cocoon ( 2.5.4.4)の子テーマ(バージョン: 1.1.3)
現在のプラグイン: (最新2.5.8 )
PHP バージョン7.4.33

エラー詳細
===============
エラータイプ E_ERROR が (サーバーのドメインアドレス)/public_html/wp-content/themes/cocoon-master/lib/utils.php ファイルの 3470 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined function get_current_screen() in /(サーバーのドメインアドレス)/public_html/wp-content/themes/cocoon-master/lib/utils.php:3470
Stack trace:
#0 /(サーバーのドメインアドレス)/wp-content/themes/cocoon-master/lib/settings.php(120): use_gutenberg_editor()
#1 /(サーバーのドメインアドレス)/wp-includes/class-wp-hook.php(308): visual_editor_stylesheets_custom(Array)
#2 /(サーバーのドメインアドレス)/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array)
#3 /(サーバーのドメインアドレス)/wp-includes/theme.php(2195): apply_filters('editor_styleshe...', Array)
#4 /(サーバーのドメインアドレス)/wp-includes/class-wp-editor.php(569): get_editor_stylesheets()
#5 /(サーバーのドメインアドレス)/wp-includes/class-wp-editor.php(308): _WP_Editors::editor_settings('content', Array)
#6 /(サーバーのドメインアドレス)/wp-inclu
**************************************************************
このメールが届いてもログインでき、ページも正しく表示されています。
カスタムフィールドに正しく登録されたなかった画像も一旦「公開」にすると画像が表示されるようになります。これに関連してか、cocoon設定のタブの一部が「サイト名」より後ろの項目に、正しく表示されない部分(歯抜けのよう)とまったく表示されない部分があります。(写真添付)

大部分でこのプラグインを使用しているのでできれば変更したくないのですが、
何かアドバイスいただけましたら幸いです。

This topic was modified 1年前 2回 by gu-san

   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16484
 

投稿者:: @gu-san

Uncaught Error: Call to undefined function get_current_screen() in /(サーバーのドメインアドレス)/public_html/wp-content/themes/cocoon-master/lib/utils.php:3470

get_current_screen関数が定義されていないと出ていますが、この関数はWordPressコアで定義されているべき関数です。
なのでWordPressアップデートがうまくいっていないのではないかと推測します。
ダッシュボードの更新画面からWordPressを再インストールするとどうなりますでしょうか?


   
gu-san reacted
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

ご連絡がおそくなり申し訳ありません。
素人の質問で申し訳ないのですが、
この「再インストール」は現在のプラグインや子テーマなどの
設定を残したまま再インストールできるのでしょうか?
自分のサイトではなく、すでに運用されているものなので
表示が大きく変わったりすると準備などに時間が必要です。

注意点などおおしえいただけますか?
(返信がまた夜間になるかもしれません)


   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 3年前
投稿: 6940
 

gu-sanさん

投稿者:: @gu-san

この「再インストール」は現在のプラグインや子テーマなどの
設定を残したまま再インストールできるのでしょうか?

その認識です。

WordPressのメジャーアップデートやマイナーアップデートも、わいひらさんが画像添付してくださったボタンから行うと思います。
(自動更新を設定なさっている場合は、ボタンは押しませんけれど)

それと同じです。
(その際に、プラグイン等に影響はないでしょう?)

WordPressを同じバージョンで、上書きするだけです。
(ご不安であれば、事前にバックアップを取得なさってください)


   
gu-san and わいひら reacted
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

mk2様

ありがとうございます。
念のためバックアップをとって
試してみます。


   
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

わいひら様におおしえいただいた「wordpress6.1.1-jaを再インストール」を試してみましが
変わりませんでした。エラーメッセージのメールも届きます。

今回はXserverで、簡易ですがロリポップサーバーで同じように子テーマを置いて
Custom Field Templateで画像投稿してみましたが、正しく投稿されますし、
Cocoon設定も正しく表示されています。
このサイトだけがおかしいようです。

やったことはないのですが、親テーマを入れ直した方がいいのでしょうか?


   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 3年前
投稿: 6940
 

gu-sanさん

私には、本件の事象はちょっと良く分からないところですが・・・。

投稿者:: @gu-san

やったことはないのですが、親テーマを入れ直した方がいいのでしょうか?

サーバーや環境によって違うのであれば、やってみても良いかもしれないです。

入れ直すのではなく、上書きしてしまう方法が簡単だと思います。
WordPressの標準機能で、簡単にできますので。

以下をご参考になさってみてください。

Cocoonテーマファイルを手動でアップデートする方法
https://wp-cocoon.com/manual-update-of-cocoon-theme/

バージョンが同じであっても、上書きできます。


   
gu-san reacted
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

mk2様

ありがとうございます。
慎重にやってみたいと思いますので
少し返信までに時間がかかるかもしれません。
後日、結果を報告いたします。


   
mk2
(@mk2_mk2)
Illustrious Member Moderator
結合: 3年前
投稿: 6940
 

gu-sanさん

投稿者:: @gu-san

慎重にやってみたいと思いますので
少し返信までに時間がかかるかもしれません。
後日、結果を報告いたします。

焦らず、ごゆっくりで大丈夫だと思います。

それでも解決しなかった場合ですが…。

いくつかお願いがあります。

フォーラム上部の案内の通り、環境情報等のご提示をお願いします。

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

環境情報の取得方法はこちら。
→  https://wp-cocoon.com/theme-report/

URLのご提示に問題がある場合は、削除していただければと思います。

また、添付いただいたメッセージ部分ですが、途中で切れていませんでしょうか。

投稿者:: @gu-san

#6 /(サーバーのドメインアドレス)/wp-inclu

続きがあるような気がします。

私は、「Custom Field Template」については使用したことがないもので、どうやったら再現できるものか・・・とは思いますので、その辺りもう少しご説明いただくと助かるかもしれないです。
(試してはいないのですが)

 

そして、WordPress公式テーマでやってみて、再現するかをご確認いただいても良いと思います。

以下のプラグインが、役立つと思います。

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


   
gu-san and わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16484
 

投稿者:: @gu-san

やったことはないのですが、親テーマを入れ直した方がいいのでしょうか?

あのエラーメッセージが出ている以上親テーマを再インストールしたとしても変化はないとは思います。
ただ試しても問題ないと思うので試してみても良いとは思います。

FTPなどでWordPressコアファイルの中の/wp-admin/includes/screen.phpファイルは存在していますでしょうか?

念のためget_current_screen()関数のあるかどうかも確認してみてください。
https://github.com/WordPress/wordpress-develop/blob/28f10e4af559c9b4dbbd1768feff0bae575d5e78/src/wp-admin/includes/screen.php#L224-L232


   
gu-san reacted
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

 mk2様

ありがとうございます。
別件でバタバタしておりまして
まだ試せてないのです。

投稿者:: @mk2_mk2

 

  • 1つのトピックにつき1つの質問を書き込んでください
  • 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  • 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

 

疑問が多く申し訳ありません。
高速化は利用していません。
環境情報をみたいのですが、「Cocoon設定」のタブの「サイト名」より後ろの項目が正しく表示されないか表示されないので見ることができません。

また「Health Check & Troubleshooting」プラグインですが、これをはじめに投稿する時に見てみたのですが、レビューの中に「サイトが壊れた」という人がいて、自分のサイトならばやってみるのですが違うので、躊躇しております。


   
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

わいひら様

ありがとうございます。

投稿者:: @yhira

FTPなどでWordPressコアファイルの中の/wp-admin/includes/screen.phpファイルは存在していますでしょうか?

確認してみましたが存在し、

投稿者:: @yhira

念のためget_current_screen()関数のあるかどうかも確認してみてください。

関数もありました。


   
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

mk2様

失礼いたしました。下記の項目の返信をいれておりませんでした。

投稿者:: @mk2_mk2

また、添付いただいたメッセージ部分ですが、途中で切れていませんでしょうか。

 

投稿者:: @gu-san

 

#6 /(サーバーのドメインアドレス)/wp-inclu

 

 

続きがあるような気がします。

受信しているメールはG-mailなのですが、
いつもここまでしか表示されないのです。


   
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16484
 

ファイルがあって関数が定義されているのに関数未定義のエラーが出ているのだとしたらちょっとよくわかんないですね…。
関数が未定義なら定義してやればよいということで、functions.phpに以下を貼り付けて定義してやるとどうなりますでしょうか。

/**
 * Get the current screen object
 *
 * @since 3.1.0
 *
 * @global WP_Screen $current_screen WordPress current screen object.
 *
 * @return WP_Screen|null Current screen object or null when screen not defined.
 */
function get_current_screen() {
	global $current_screen;

	if ( ! isset( $current_screen ) ) {
		return null;
	}

	return $current_screen;
}

これでこれまでと違うエラーが出るようであれば貼り付けたところを削除してください。


   
gu-san reacted
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

ありがとうございます。

さっそく試しましたところ

Fatal error: Cannot redeclare get_current_screen() (previously declared in /(サーバーのアドレス)/wp-content/themes/(子テーマフォルダ)/functions.php:154) in /(サーバーのアドレス)/wp-admin/includes/screen.php on line 224

となってしまいましたので戻しました。

お忙しいのに申し訳ありません。


   
(@gu-san)
Active Member Registered
結合: 1年前
投稿: 10
Topic starter  

自己解決いたしました。
editorの何かがエラーなのだろうと思い色々試し、偶然みつけました。
「Custom Post Type UI」を使ってカスタム投稿タイプを作っていたのですが、エディタを表示するかどうか選択できる部分があり、そこが「非表示(チェックなし)」になっていると「Custom Field Template」での画像登録の際うまく動作せず、「致命的なエラー」のメールが届くようでした。エディタを「表示(チェックする)」にすると画像登録もうまく動作し、メールもきませんでした。カスタムフィールドだけの投稿なのでエディタは非表示にしたかったのです。
「Advanced Custom Fields」でも試しましたが、非表示にしてもエラーになりませんでした。

添付は「Custom Post Type UI」の上記の設定部分です。青枠のところに投稿サムネイルのサポートについて書いてありました。
英語なのでよくわかりませんが、これと関係していたのかもしれません。
下記はそのリンク先です。
https://developer.wordpress.org/reference/functions/add_theme_support/#post-thumbnails

Cocoon設定の表示の件はまだ不明ですが、致命的エラーがなくなっただけでもとりあえずはよかったです。

エラーメッセージからテーマに関連するものかと思いましがプラグインの方だったのですね。
大変申し訳ありませんでした。
お忙しい中、お時間いただき、また親身に聞いてくださりありがとうございました。

This post was modified 1年前 by gu-san

   
わいひら reacted
わいひら
(@yhira)
Illustrious Member Admin
結合: 6年前
投稿: 16484
 

投稿者:: @gu-san

Fatal error: Cannot redeclare get_current_screen() (previously declared in /(サーバーのアドレス)/wp-content/themes/(子テーマフォルダ)/functions.php:154) in /(サーバーのアドレス)/wp-admin/includes/screen.php on line 224

Fatal error: Cannot redeclare(再定義できない)というエラーが出ているということはget_current_screen()が二重に定義されているということなので、少なくともWordPressコアファイルのget_current_screen()は認識しているということですよね。

なので設定で解決したのであれば、それで問題ないんだと思います


   
gu-san reacted
共有:

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

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

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

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

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

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

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

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