Я использую последнюю версию WordPress и при написании нового сообщения, я получаю следующую ошибку вместо необязательных полей, расположенных ниже области записи:
Ловкая фатальная ошибка: объект класса __PHP_Incomplete_Class не может быть преобразован в строку в /home/xxx/public_html/wp-content/themes/xxx/functions/meta-boxes.php в строке 466
- Неожиданный T_STRING, ожидающий T_OLD_FUNCTION или T_FUNCTION или T_VAR
- Измените количество продуктов, отображаемых на странице категории «xyz» категории WooCommerce
- Создание виджета настраиваемых категорий
- Анонимные функции в ловушках WordPress
- Пользовательские конечные точки wooCommerce
- Условно заданные цены на товары для определенных продуктов в WooCommerce 3
Я вставил код проблемы ниже, взятый из 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