Come aggiungere il supporto delle miniature per i tipi di post personalizzati?

6 lug 2012, 10:03:43
Visualizzazioni: 70K
Voti: 21

Il supporto delle miniature funziona per i post, ma ho un altro tipo di post chiamato product e non funziona per questo. Sto provando: add_theme_support( 'post-thumbnails', array( 'post', 'product' ) ); Sto anche utilizzando il plugin multiple post thumbnail.

0
Tutte le risposte alla domanda 3
3
35

Per impostazione predefinita, tutti i custom post aggiungono il supporto per Titolo e editor. Se desideri aggiungere altre funzionalità come commenti, thumbnail e revisioni, devi aggiungerle manualmente nell'argomento support.

Scopri di più su come registrare il tuo custom post type qui, puoi anche trovare la sezione relativa a support per vedere cosa puoi aggiungere.

Ecco un esempio che mostra come registrare il supporto per le thumbnail nel custom post "Libri" con il supporto per: 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'

function codex_custom_init() {
  $labels = array(
    'name' => _x('Libri', 'post type general name'),
    'singular_name' => _x('Libro', 'post type singular name'),
    'add_new' => _x('Aggiungi nuovo', 'book'),
    'add_new_item' => __('Aggiungi nuovo libro'),
    'edit_item' => __('Modifica libro'),
    'new_item' => __('Nuovo libro'),
    'all_items' => __('Tutti i libri'),
    'view_item' => __('Visualizza libro'),
    'search_items' => __('Cerca libri'),
    'not_found' =>  __('Nessun libro trovato'),
    'not_found_in_trash' => __('Nessun libro trovato nel cestino'), 
    'parent_item_colon' => '',
    'menu_name' => __('Libri')

  );
  $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);
}
add_action( 'init', 'codex_custom_init' );
6 lug 2012 10:11:07
Commenti

Stavo utilizzando post-thumbnail invece di thumbnail. Ora ha senso. post-thumbnail aggiunge la miniatura per il post ma per i custom post type serve thumbnail

Akash Kumar Sharma Akash Kumar Sharma
27 gen 2015 19:13:38

Ho 'thumbnail' nel mio array 'supports' ma non riesco a salvare l'immagine in evidenza nel mio custom post.

esmitex esmitex
27 giu 2016 14:31:42

@esmitex: Oltre alla parte supports devi anche avere un add_theme_support( 'post-thumbnails') in un'azione appropriata o qualcosa di simile (che l'OP già aveva).

Bart Bart
25 feb 2022 12:57:41
2
16

Per i post personalizzati, prima devi abilitare il supporto per le miniature:

add_theme_support( 'post-thumbnails' );
function theme_setup() {
    register_post_type( 'yourposttype', array(
        ...,
        'supports' => array('title', ...,'thumbnail'),
    ));
}
add_action( 'after_setup_theme', 'theme_setup' );
4 nov 2016 20:49:34
Commenti

Ha funzionato perfettamente per me, ma potresti spiegare perché è necessario aggiungere "add_theme_support( 'post-thumbnails' );"?

Adi Adi
3 gen 2020 21:55:23

Dovrei leggere il codice sorgente per esserne certo, ma suppongo che register_post_type carichi il codice di supporto solo se il tema è impostato per supportare le miniature.

Herbert Van-Vliet Herbert Van-Vliet
13 set 2021 13:19:55
1

Puoi anche utilizzare add_post_type_support() per aggiungere una singola funzionalità, se non vuoi riscrivere le opzioni predefinite di supports quando registri il tuo custom post type:

add_post_type_support( 'product', 'thumbnail' );
25 set 2018 05:09:35
Commenti

Questa è di gran lunga la risposta migliore. L'uso dell'attributo support interrompe l'interfaccia utente dell'editor a blocchi.

Will Soares Will Soares
17 ott 2022 19:16:11