我有一个Wordpress网站,还在开发中。我一直在这个网站工作到2021年2月底,并持有所有的工作,因为COVID危机。直到那一天,网站才开始运作。现在我已经恢复了我的工作,只是看看网站。但是现在,网站正在抛出一个错误“致命错误:未定义错误:调用未定义函数wp_embed_register_handler()”
我还交叉了“wp-include/Embed.php”文件,其中存在该函数,函数在调用之前已经定义好了。您可以看到整个错误跟踪的附加屏幕截图。

我没有得到这个错误在所有的网页,但几乎每一页。我无法理解为什么我要得到这个错误,即使我没有触及任何网站上的过去3-4个月。我上一次工作的时候很好。
有人能帮忙吗?我不是很有经验的Wordpress,但有中级知识。
提前谢谢
发布于 2021-06-23 07:02:19
看起来问题在于主题与WordPress文件的兼容性。我建议您更新主题和WordPress核心文件。
第二个选择是禁用Wp嵌入,只有当你不需要它。使用此代码,将其放置在主题的function.php中:
function disable_embeds_code_init() {
// Remove the REST API endpoint.
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// Turn off oEmbed auto discovery.
add_filter( 'embed_oembed_discover', '__return_false' );
// Don't filter oEmbed results.
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );
// Remove all embeds rewrite rules.
add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}
add_action( 'init', 'disable_embeds_code_init', 9999 );
function disable_embeds_tiny_mce_plugin($plugins) {
return array_diff($plugins, array('wpembed'));
}
function disable_embeds_rewrites($rules) {
foreach($rules as $rule => $rewrite) {
if(false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}https://stackoverflow.com/questions/68094845
复制相似问题