PHP WordPress 错误 - 可捕获的致命错误:WP_Term 类的对象无法转换为字符串

Posted

技术标签:

【中文标题】PHP WordPress 错误 - 可捕获的致命错误:WP_Term 类的对象无法转换为字符串【英文标题】:PHP WordPress Error - Catchable fatal error: Object of class WP_Term could not be converted to string 【发布时间】:2018-07-13 17:59:00 【问题描述】:

我正在开发的一个 wordpress 网站有一个子主题,当我尝试登录时会出错。主题是 Genesis。一周前一切正常,我不知道这段代码有什么问题。

错误为Catchable fatal error: Object of class WP_Term could not be converted to string in /home/usr234/public_html/wp-content/themes/outreach-pro/lib/cstomize-setting.php on line 408

可以将数组解析成字符串吗?

这是cstomize-setting.php中的函数

add_action('admin_init', 'ms_category_images');
function ms_category_images() 
$ms_tags =  get_tags();
$ms_taxonomies = get_taxonomies();

if (is_array($ms_taxonomies))  
    foreach ($ms_taxonomies as $ms_taxonomy) 
        add_filter( 'manage_edit-' . $ms_taxonomy . '_columns', 'ms_taxonomy_columns' );
        add_filter( 'manage_' . $ms_taxonomy . '_custom_column', 'ms_taxonomy_column', 10, 3 );
       
    
if (is_array($ms_tags))  
    foreach ($ms_tags as $ms_taxonomy) 
    **//line no 408 is the one below**
    add_filter( 'manage_edit-' . $ms_taxonomy . '_columns', 'ms_taxonomy_columns' ); //line no 408
    add_filter( 'manage_' . $ms_taxonomy . '_custom_column', 'ms_taxonomy_column', 10, 3 );
    

【问题讨论】:

【参考方案1】:

错误是因为 $ms_tags 是对象数组而不是名称数组。处理 $ms_tags 的代码应更改如下:

if (is_array($ms_tags))  
    foreach ($ms_tags as $ms_taxonomy) 
        add_filter( 'manage_edit-' . $ms_taxonomy->slug . '_columns', 'ms_taxonomy_columns' ); //line no 408
        add_filter( 'manage_' . $ms_taxonomy->slug . '_custom_column', 'ms_taxonomy_column', 10, 3 );
    

【讨论】:

@MaxE 您可以进一步了解它here on codex @MaxE 我很高兴听到这个消息。

以上是关于PHP WordPress 错误 - 可捕获的致命错误:WP_Term 类的对象无法转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

WordPress:可捕获的致命错误:stdClass 类的对象无法转换为字符串

如何在 PHP 类型提示中捕获“可捕获的致命错误”?

PHP:异常和可捕获的致命错误有啥区别?

使用 mysqli_stmt 时 PhP 可捕获的致命错误

可捕获的致命错误:WC_Cart 类的对象无法转换为字符串

可捕获的致命错误:WP_Post 类的对象无法转换为字符串