Отсутствующая панель изображения записи в пользовательском типе записей WordPress 3.2

13 окт. 2011 г., 20:54:49
Просмотры: 21.9K
Голосов: 5

После обновления с версии 3.1 до 3.2 пропала панель изображения записи в админке, которая работала в пользовательском типе записей.

add_action( 'init', 'create_my_post_types' );

function create_my_post_types() {
    register_post_type( 'header_image_gallery',
        array(
            'labels' => array(
            'name' => __( 'Изображения заголовка' ),
            'singular_name' => __( 'Изображение заголовка' ),
            'add_new' => __( 'Добавить новое' ),
            'add_new_item' => __( 'Добавить новое изображение заголовка' ),
            'edit' => __( 'Редактировать' ),
            'edit_item' => __( 'Редактировать изображение заголовка' ),
            'new_item' => __( 'Новое изображение заголовка' ),
            'view' => __( 'Просмотр изображений заголовка' ),
            'view_item' => __( 'Просмотр изображений заголовка' ),
            'search_items' => __( 'Поиск изображений заголовка' ),
            'not_found' => __( 'Изображения заголовка не найдены' ),
            'not_found_in_trash' => __( 'В корзине не найдено изображений заголовка' ),
            'parent' => __( 'Родительские изображения заголовка' ),
            ),
            'public' => true,
            'supports' => array('title','thumbnail','revisions')
        )
    );
}

Миниатюры записей регистрируются так:

// Эта тема использует миниатюры записей
    add_theme_support( 'post-thumbnails', array('post', 'page') );

Примечание: Пользовательские записи, созданные до обновления, правильно работают во фронтенде, показывая свои миниатюры (просто отсутствует панель изображения записи в админке).

Также: Я обратился к codex и взял пример пользовательского типа записи, вы заметите, что он должен показывать изображение записи > но также не показывает.

add_action('init', 'codex_custom_init');
function codex_custom_init() 
{
  $labels = array(
    'name' => _x('Книги', 'общее название типа записи'),
    'singular_name' => _x('Книга', 'единственное название типа записи'),
    'add_new' => _x('Добавить новую', 'книга'),
    'add_new_item' => __('Добавить новую книгу'),
    'edit_item' => __('Редактировать книгу'),
    'new_item' => __('Новая книга'),
    'all_items' => __('Все книги'),
    'view_item' => __('Просмотр книги'),
    'search_items' => __('Поиск книг'),
    'not_found' =>  __('Книги не найдены'),
    'not_found_in_trash' => __('В корзине книги не найдены'), 
    'parent_item_colon' => '',
    'menu_name' => 'Книги'

  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true, 
    'show_in_menu' => true, 
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'has_archive' => true, 
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title','editor','author','thumbnail','excerpt','comments')
  ); 
  register_post_type('book',$args);
}

Если я проверяю параметры экрана, опция изображения записи не видна ни в одном из примеров.

* Ответил на свой вопрос

Возможно, в WP 3.1 не нужно было объявлять ваш пользовательский тип записи при добавлении поддержки темы, но в WP 3.2 это необходимо!

// Эта тема использует миниатюры записей
    add_theme_support( 'post-thumbnails', array('post', 'page','header_image_gallery') );
0
Все ответы на вопрос 3
3

Измените это:

// Тема использует миниатюры записей
add_theme_support( 'post-thumbnails', array('post', 'page') );

На это:

// Тема использует миниатюры записей
add_theme_support( 'post-thumbnails' );

Проблема в том, что массив является явным, при его использовании. Таким образом, поддержка миниатюр будет добавлена только для типов записей, включенных в массив.

Пропустите массив, чтобы добавить поддержку миниатюр для всех типов записей.

13 окт. 2011 г. 21:57:51
Комментарии

Ах... ну конечно.

Devise Devise
13 окт. 2011 г. 22:33:55

Я тоже пробовал это сделать, но по какой-то причине область изображения записи не отображается в админке моего пользовательского типа записи. Не совсем понимаю, в чем проблема... Кстати, это не относится к теме, но извините, что отвечаю в этой ветке как на ответ — не могу найти кнопку "комментировать".

Brian Brian
11 февр. 2012 г. 05:49:45

Попробуйте отключить ACF, если он у вас установлен.

Klevis Miho Klevis Miho
26 мар. 2015 г. 17:52:48
0

Попробуйте это, у меня работает.

// Поддержка миниатюр записей
add_theme_support('post-thumbnails');
// Добавление поддержки миниатюр для типа записи 'my_product'
add_post_type_support( 'my_product', 'thumbnail' );

// Функция создания нового типа записи
function create_post_type() {
    register_post_type( 'my_product',
        array(
            'labels' => array(
                'name' => __( 'Продукты' ), // Название типа записи во множественном числе
                'singular_name' => __( 'Продукт' ) // Название типа записи в единственном числе
            ),
            'public' => true, // Делаем тип записи публичным
            'has_archive' => true // Включаем архив для этого типа записи
        )
    );
}
// Хук инициализации
add_action( 'init', 'create_post_type' );
8 дек. 2015 г. 11:53:20
0

Найдите этот код в файле functions.php

    'supports'              => array( ),

Измените код на

    'supports'              => array( 'thumbnail', ),

Это решение можно применить, если вы создаете пользовательский тип записи в functions.php

13 нояб. 2016 г. 13:29:25