我找到了解决方案,并将在这里发布,以防将来对某人有所帮助。
底线是响应POST请求的函数中有一个输入错误。
我通过禁用激活类中插件的一部分,将其缩小到一个文件。通过这样做,我确定只有包含此文件/函数时才会发生错误:
if ( $_SERVER[\'REQUEST_METHOD\'] = \'POST\' ) {
if ( !empty($_POST[\'update\']) ) {
if ( $_POST[\'update\'] == "clear") {
$now = new DateTime;
$now->setTimezone(new DateTimeZone(get_option(\'timezone_string\')));
update_option(\'time-tracker-sql-result\', array(\'result\'=>\'success\',\'updated\'=>$now->format(\'m-d-Y g:i A\'),\'error\'=>\'N/A\', \'file\'=>"", \'function\'=>""));
}
}
}
问题是在我的第一行中,我使用了=而不是==更正的代码是:
if ( $_SERVER[\'REQUEST_METHOD\'] == \'POST\' ) {
if ( !empty($_POST[\'update\']) ) {
if ( $_POST[\'update\'] == "clear") {
$now = new DateTime;
$now->setTimezone(new DateTimeZone(get_option(\'timezone_string\')));
update_option(\'time-tracker-sql-result\', array(\'result\'=>\'success\',\'updated\'=>$now->format(\'m-d-Y g:i A\'),\'error\'=>\'N/A\', \'file\'=>"", \'function\'=>""));
}
}
}
修复后,错误消失,my/wp json再次可见!