最新バージョンの Wordpress を使用していますが、新しい投稿を書いているときに、書き込み領域の下にあるオプション ボックスの代わりに次のエラーが表示されます。
キャッチ可能な致命的なエラー: 466 行目の /home/xxx/public_html/wp-content/themes/xxx/functions/meta-boxes.php のクラス __PHP_Incomplete_Class のオブジェクトを文字列に変換できませんでした
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