#wordpress #image #featured
#wordpress #изображение #wordpress-featured-image
Вопрос:
Я добавил код в свой function.php
файл, чтобы добавить изображение публикации в мою колонку администратора. Это отлично работает для сообщений и страниц, но для моих двух пользовательских типов сообщений (автомобили, колеса) это ничего не делает с макетом администратора.
Кто-нибудь может мне помочь с этим? Нужно ли добавлять фильтр для каждого пользовательского?
Я получил этот код отсюда: Добавить миниатюру избранного изображения в столбцы администратора WordPress
Следующий код в моем function.php
файле:
// Add the posts and pages columns filter. They can both use the same function.
add_filter('manage_posts_columns', 'tcb_add_post_thumbnail_column', 5);
add_filter('manage_pages_columns', 'tcb_add_post_thumbnail_column', 5);
add_filter('manage_custom_post_columns', 'tcb_add_post_thumbnail_column', 5);
// Add the column
function tcb_add_post_thumbnail_column($cols){
$cols['tcb_post_thumb'] = __('FeaTured');
return $cols;
}
// Hook into the posts an pages column managing. Sharing function callback again.
add_action('manage_posts_custom_column', 'tcb_display_post_thumbnail_column', 5, 2);
add_action('manage_pages_custom_column', 'tcb_display_post_thumbnail_column', 5, 2);
add_action('manage_custom_post_column', 'tcb_display_post_thumbnail_column', 5, 2);
// Grab featured-thumbnail size post thumbnail and display it.
function tcb_display_post_thumbnail_column($col, $id){
switch($col){
case 'tcb_post_thumb':
if( function_exists('the_post_thumbnail') )
echo the_post_thumbnail( 'admin-list-thumb' );
else
echo 'Not supported in theme';
break;
}
}
Ответ №1:
Вы включили поддержку эскизов в типе записи?
Например, мой плагин wp-glossary регистрирует тип записи глоссария, в котором включены возможности публикации (по умолчанию) и миниатюры, и это работает из коробки:
add_action('init', 'tcb_glossary_register_posttype_glossary');
function tcb_glossary_register_posttype_glossary() {
register_post_type( 'glossary',
array(
'labels' => array(
'name' => __( 'Glossary Terms' ),
'singular_name' => __( 'Glossary Term' ),
'add_new' => __( 'Add New Term' ),
'add_new_item' => __( 'Add New Glossary Term' ),
'edit_item' => __( 'Edit Glossary Term' ),
'new_item' => __( 'Add New Glossary Term' ),
'view_item' => __( 'View Glossary Term' ),
'search_items' => __( 'Search Glossary Terms' ),
'not_found' => __( 'No Glossary Terms found' ),
'not_found_in_trash' => __( 'No Glossary Terms found in trash' )
),
'public' => true,
'menu_position' => 105,
'supports' => array( 'title', 'editor', 'thumbnail' ),
'has_archive' => true,
)
);
flush_rewrite_rules( false );
}
Спасибо, что посетили мой сайт и попробовали мой фрагмент 🙂
Комментарии:
1. Я обыскал Интернет и не смог его найти — спасибо за этот фрагмент!
Ответ №2:
Приведенный ниже код, который я создал для своего типа публикации в галерее, и он работает на 100%, вы можете изменить галерею на свое имя типа записи.
прежде всего, добавьте поддержку эскизов. и размер изображения для предварительного просмотра
add_theme_support( 'post-thumbnails' );
add_image_size( 'gallery-post-prev', 50, 50, true );
затем установите миниатюру.
теперь создайте функцию в своем functions.php чтобы получить рекомендуемые изображения
/**
* get featured image function
*/
function gallery_featured_image($post_ID) {
$post_thumbnail_id = get_post_thumbnail_id($post_ID);
if ($post_thumbnail_id) {
$post_thumbnail_img = wp_get_attachment_image_src($post_thumbnail_id, 'gallery-post-prev');
return $post_thumbnail_img[0];
}
}
Теперь создайте заголовок столбца, это заголовок для столбца, в нашем случае это «избранное изображение»
/**
* add column heading
*/
function gallery_columns_head($defaults) {
$defaults['featured_image'] = 'Featured Image';
return $defaults;
}
теперь создайте содержимое столбца, в нашем случае мы будем отображать избранное изображение в столбце.
/**
* show featured image in column
*/
function gallery_columns_content($column_name, $post_ID) {
if ($column_name == 'featured_image') {
$post_featured_image = gallery_featured_image($post_ID);
if ($post_featured_image) {
echo '<img src="' . $post_featured_image . '" />';
}
}
}
теперь добавьте фильтр для отображения заголовка столбца, который мы создали
add_filter('manage_gallery_posts_columns', 'gallery_columns_head', 10);
и добавьте действие для отображения рекомендуемого изображения в содержимом столбца.
`add_action('manage_gallery_posts_custom_column', 'gallery_columns_content', 10, 2);`
Ответ №3:
Я внедрял пользовательскую тему с пользовательскими типами записей и обнаружил, что мне нужно добавить поддержку к типу записи, а также объявить ее в теме. Как показано ниже:
register_post_type( 'team',
array(
'labels' => array(
'name' => __( 'Team Members' ),
'singular_name' => __( 'Team Member' )
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'thumbnail' ),
)
);
add_theme_support( 'post-thumbnails', array( 'team' ) );
Обратите внимание, что это указано в аргументах register_post_type() как ‘supports’ и явно объявлено в вызове add_theme_support().
Наслаждайтесь вашими избранными изображениями!