Wordpress 模板 - “可捕获的致命错误:__PHP_Incomplete_Class 类的对象无法转换为字符串”

Posted

技术标签:

【中文标题】Wordpress 模板 - “可捕获的致命错误:__PHP_Incomplete_Class 类的对象无法转换为字符串”【英文标题】:Wordpress Template - "Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string" 【发布时间】:2012-11-07 06:06:00 【问题描述】:

我正在使用最新版本的 Wordpress,在撰写新文章时,我收到以下错误,而不是位于写作区域下方的可选框:

可捕获的致命错误:__php_Incomplete_Class 类的对象可能 不被转换成字符串 /home/xxx/public_html/wp-content/themes/xxx/functions/meta-boxes.php 第 466 行

我粘贴了下面的问题代码,取自 meta-boxes.php

此外,我在下面的第 466 行代码中进行了注释,让您知道错误所在:

 <?php  
    // get review-specific meta fields
    global $oswcPostTypes; 
    $postTypeId = get_post_type( $post->ID );   
    $postType = $oswcPostTypes->get_type_by_id($postTypeId);
    $meta_fields = $postType->meta_fields;
    foreach($meta_fields as $meta)
        //make backwards compatible
        if(is_object($meta))
            $metaName = $meta->name;
        else
            $metaName = $meta;
        
        $metaNameSafe = str_replace(" ","_",$metaName); // **466th line of error**
        $theMeta = get_post_meta($post->ID, $metaName, $single = true); ?>      
        <p>
        <label for="<?php echo $metaNameSafe; ?>"><?php echo $metaName; ?></label> </td>
        <textarea class="widefat" id="<?php echo $metaNameSafe; ?>" name="<?php echo $metaNameSafe; ?>"><?php echo $theMeta; ?></textarea>
        </p>

    <?php 

【问题讨论】:

【参考方案1】:

我认为 $meta->name 是对象。试试:print_r($meta->name)。

我认为应该是: $metaName = $meta->标签->名称

虽然没有测试。

谢谢

【讨论】:

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

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

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

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

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

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

可捕获的致命错误:在 json_decode