Избранные колонки с изображениями администратора для пользовательских типов постов не работают - PullRequest
0 голосов
/ 05 ноября 2011

Я добавил код в мой 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;
  }
}

Ответы [ 3 ]

1 голос
/ 09 июня 2014

Приведенный ниже код, который я создал для своего типа публикации в галерее, и он работает на 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);`
1 голос
/ 25 ноября 2011

Вы включили поддержку миниатюр в типе сообщения?

Например, мой плагин 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 );
}

Спасибо за посещениемой сайт и пробую мой фрагмент:)

0 голосов
/ 05 сентября 2013

Я реализовывал пользовательскую тему с пользовательскими типами сообщений и обнаружил, что мне нужно добавить поддержку к типу сообщений и объявить ее в теме.Как показано ниже:

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 () он указан как 'support' и явно объявлен в вызове add_theme_support ().

Наслаждайтесь вашими избранными изображениями!

...