質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

0回答

1185閲覧

「返答が正しい JSON レスポンスではありません」のエラー表示を解決したい

yoshi08

総合スコア0

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2021/10/27 02:00

前提・実現したいこと

wordpressで自作の関数をフィルターフックを使って呼び出したところ、サイト画面からは問題なく動作しました。
ただ、管理画面から投稿を保存すると「返答が正しい JSON レスポンスではありません」のエラーメッセージが表示されるようになってしまいました。
投稿自体は自動保存機能で更新される為サイト運営に問題はないのですが、他のjsonエラーが起きた場合に発見が遅れるので「返答が正しい JSON レスポンスではありません」のエラーメッセージは消したいです。
検索をかけても「htaccess」についてのものばかりで解決方法が分かりません、よろしくお願いいたします。

発生している問題・エラーメッセージ

更新に失敗しました。 返答が正しい JSON レスポンスではありません。

該当のソースコード

functions.php

1<?php 2function moneyAverageFonc ($content) { 3if(is_admin() == 0){ 4 global $template; // テンプレートファイルのパスを取得 5 $fileName = basename($template);// テンプレートファイル○○.phpの箇所だけ抜粋 6 $singlePhp = 'single.php'; 7 if($fileName == $singlePhp){// 開いているページが投稿一覧かどうか判断 8 //開いているページが投稿一覧だった場合 9 global $wpdb;// DBに接続するため 10 $id = get_the_ID();//DBに投稿別のデータを確認するため 11 $average = 0;//return用変数 12 $rows = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."shop WHERE shop_postsId = $id", ARRAY_N);//投稿IDをテーブルshopに渡して平均稼ぎのデータがあるか判断 13 $number = count($rows);//平均稼ぎのデータの有無をカウント 14 if($number > 0){ 15 //平均稼ぎのデータの有の場合 16 foreach ($rows as $row){ 17 //平均稼ぎのデータをreturn変数に代入 18 $average = "<div class='postList_average'><span class='averageBest'>最高$row[4]</span><span class='averageWost'>最低$row[5]</span><span class='seasonAverage'>年平均$row[6]</span></div><br>$content"; 19 } 20 }else{ 21 //平均稼ぎのデータ無しの場合 22 //平均稼ぎのデータを無い事を伝えるテキストをreturn変数に代入 23 $average = "<div class='postList_average'><span class='class='averageNothing>稼ぎのデータがまだありません。</span></div><br>$content"; 24 } 25 } 26 } 27 return $average;// 結果を返答 28} 29add_filter('the_content', 'moneyAverageFonc',999);

試したこと

Classic Editorを使うと一応エラーメッセージは表示されなくなりました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazuhiroHatano

2021/10/27 02:12

多分jsonの代わりにWordPressのエラーメッセージのhtmlが返っているんじゃないかと思うので エラーになったレスポンスの中身を確認してみてください Gutenbergのブロックの検証の処理で走るAPIは 多分is_admin()ではフィルタできません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問