Cum se obține meniul drop down pentru șabloane în atributele paginii unui tip de postare personalizat?

1 dec. 2011, 04:50:48
Vizualizări: 27.4K
Voturi: 10

Când înregistrez tipul meu de postare personalizat, setez următoarele:

'hierarchical'   => true,
'supports'       => array( 'title','author', 'page-attributes' ),

Astfel, ar trebui să văd 'order', 'templates', 'parents' în caseta Attributes când creez o postare nouă. Totuși, nu văd meniul dropdown pentru 'templates' apărând. Mai este ceva ce ar trebui să fac pentru a activa opțiunea de alegere a 'templates'?

0
Toate răspunsurile la întrebare 4
3
23

Ei bine, începând cu WordPress 4.7, șabloanele personalizate sunt disponibile și pentru tipurile de postări personalizate. Când definiți un șablon, adăugați o altă linie sub numele șablonului, astfel (unde 'product' este tipul vostru de postare personalizată):

<?php
/*
Template Name: Layout personalizat
Template Post Type: post, page, product
*/

// codul tău aici

și nu uitați să adăugați 'page-attributes' atunci când înregistrați tipul de postare personalizată:

'supports' => array('title', 'page-attributes'),

pentru a afișa caseta "Atribute postare".

4 mai 2017 11:45:19
Comentarii

exact ceea ce aveam nevoie.

Marty McGee Marty McGee
11 dec. 2018 01:17:21

Mai multe informații aici: https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/

Dvaeer Dvaeer
26 mai 2020 14:01:38

Nu știam asta. Mulțumesc!

Keith Keith
6 iul. 2020 14:11:01
3

Nu poți aplica șabloane la tipurile personalizate de articole în acest fel. Acesta va apărea doar dacă tipul de articol este 'page' (Verifică wp-admin/includes/meta-boxes.php linia 568). Totuși, dacă dorești să stilizezi toate tipurile personalizate de articole în același mod, dar diferit de alte tipuri de articole, poți folosi single-[posttype].php -> http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

1 dec. 2011 06:30:16
Comentarii

Da, mulțumesc. Păcat că încă nu au această funcționalitate.

rpeg rpeg
6 feb. 2012 02:18:30

Dropdown-ul pentru șabloane încă nu este suportat pentru tipurile personalizate de postări în versiunea 4.1?

supertrue supertrue
12 feb. 2015 19:41:37

ați găsit / cineva a găsit soluția pentru afișarea atributelor paginii / selecției de șablon pentru TIPURILE PERSONALIZATE DE POSTĂRI??

Riffaz Starr Riffaz Starr
27 mar. 2015 20:12:09
0

Cu tema mea, ofer șabloane "virtuale". Nu există fișiere specifice {template}.php în tema mea, așa că am filtrat șabloanele de PAGINĂ astfel:

function my_virtual_templates( $templates ) {

    $my_virtual_templates = array(
        'virtual_template_id_1' => 'Șablon 1',
        'virtual_template_id_2' => 'Șablon 2',
        'virtual_template_id_3' => 'Șablon 3'
    );

    // Combină cu orice șabloane deja disponibile
    $templates = array_merge( $templates, $my_virtual_templates );

    return $templates;
}

add_filter( 'theme_page_templates', 'my_virtual_templates' );

Căutam o modalitate "simplă" de a adăuga caseta meta reală pe un Tip de Postare Personalizată (CPT) când am dat peste acest articol. Deoarece noul meu CPT va folosi același array de șabloane "virtuale", aveam nevoie doar să obțin o casetă meta pentru postare.

Folosind theme_{$post_type}_templates se creează automat această zonă de casetă meta pentru mine. Așadar, acolo unde CPT-ul meu se numește my_cpt, am adăugat filtrul astfel:

add_filter( 'theme_my_cpt_templates', 'my_virtual_templates');

Acum, caseta meta și selectorul apar, și pot chiar să le modific pe ecranul de editare în masă, deoarece toate acestea sunt integrate. Foarte util!

31 aug. 2017 00:45:48
0
-1

pur și simplu creează orice fișier de șablon și setează în header-ul șablonului următoarele:

/*
Template Name: Un Nume
Template Post Type: tipul_tau, page
*/

apoi selectorul de șabloane va apărea în secțiunea 'Atribute Post'

23 oct. 2018 14:31:57