Cum adaugi suport pentru miniaturi în cazul tipurilor de postări personalizate?

6 iul. 2012, 10:03:43
Vizualizări: 70K
Voturi: 21

Suportul pentru miniaturi funcționează pentru postări, dar am un alt tip de postare numit product și nu funcționează pentru acesta. Încerc să folosesc: add_theme_support( 'post-thumbnails', array( 'post', 'product' ) ); De asemenea, folosesc plugin-ul multiple post thumbnail.

0
Toate răspunsurile la întrebare 3
3
35

În mod implicit, toate tipurile de postări personalizate includ suport pentru Titlu și editor. Dacă doriți mai multe funcționalități precum comentarii, miniaturi și revizii, trebuie să le adăugați manual în argumentul support.

Aflați mai multe despre cum să vă înregistrați tipul de postare personalizată aici, puteți găsi și secțiunea despre support pentru a vedea ce puteți adăuga.

Iată un exemplu unde înregistrăm suportul pentru miniaturi pentru postarea personalizată "Cărți" și care include suport pentru: 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'

function codex_custom_init() {
  $labels = array(
    'name' => _x('Cărți', 'nume general tip postare'),
    'singular_name' => _x('Carte', 'nume singular tip postare'),
    'add_new' => _x('Adaugă nou', 'carte'),
    'add_new_item' => __('Adaugă carte nouă'),
    'edit_item' => __('Editează carte'),
    'new_item' => __('Carte nouă'),
    'all_items' => __('Toate cărțile'),
    'view_item' => __('Vezi carte'),
    'search_items' => __('Caută cărți'),
    'not_found' =>  __('Nu s-au găsit cărți'),
    'not_found_in_trash' => __('Nu s-au găsit cărți în coșul de gunoi'), 
    'parent_item_colon' => '',
    'menu_name' => __('Cărți')

  );
  $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 iul. 2012 10:11:07
Comentarii

Foloseam post-thumbnail în loc de thumbnail. Acum are sens. post-thumbnail adaugă thumbnail pentru post, dar pentru custom post type este nevoie de thumbnail.

Akash Kumar Sharma Akash Kumar Sharma
27 ian. 2015 19:13:38

Am 'thumbnail' în array-ul meu 'supports' dar nu pot salva featured image în custom post-ul meu.

esmitex esmitex
27 iun. 2016 14:31:42

@esmitex: Pe lângă partea cu supports, trebuie să ai și un add_theme_support( 'post-thumbnails') într-o acțiune potrivită sau ceva similar (pe care OP deja îl avea).

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

Pentru postări personalizate, mai întâi trebuie să activezi suportul pentru thumbnail-uri:

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
Comentarii

A funcționat perfect pentru mine, dar poți să explici de ce este necesar să adaugi "add_theme_support( 'post-thumbnails' );"?

Adi Adi
3 ian. 2020 21:55:23

Ar trebui să citesc codul sursă pentru a fi sigur, dar presupun că register_post_type încarcă codul suport doar dacă tema este setată să suporte thumbnail-uri.

Herbert Van-Vliet Herbert Van-Vliet
13 sept. 2021 13:19:55
1

De asemenea, poți folosi add_post_type_support() pentru a adăuga o singură funcționalitate, dacă nu dorești să rescrii opțiunile implicite supports atunci când înregistrezi tipul tău personalizat de postare:

add_post_type_support( 'product', 'thumbnail' );
25 sept. 2018 05:09:35
Comentarii

Acesta este cel mai bun răspuns până acum. Utilizarea atributului support strică interfața utilizator a editorului de blocuri.

Will Soares Will Soares
17 oct. 2022 19:16:11