Modello di archivio del tipo di post personalizzato
-
-
Puoipubblicareil codice daltuofunctions.php che dichiarail CPT?Can you post the code from your functions.php that declares the CPT?
- 2
- 2012-06-21
- Rachel Baker
-
Inoltre,hai salvatonuovamentei permalink dopo aver dichiaratoil CPT?Also, have you re-saved permalinks after declaring the CPT?
- 0
- 2014-02-01
- helgatheviking
-
3 risposta
- voti
-
- 2014-02-01
Penso che dovresti aggiungereil supportoperi tipi ditassonomiapersonalizzatae denominareilfiletaxonomy-cpt-type.php dove cpt èilnome deltuotipo di articolopersonalizzato.
Iltuofile di archivio CPT dovrebbeessere denominato archive-cpt.php dove cpt èilnome deltuotipo di articolopersonalizzato.
Eccotuttoil codice che è statotestato.
Nota: non dovresti utilizzaretag otag comenome deltuotipo ditassonomiapersonalizzatapoichéentreràin conflitto con lefunzioniprincipaliesistenti.
add_action( 'init', 'wpsites_cpt_post_type' ); function wpsites_cpt_post_type() { register_post_type( 'cpt', array( 'labels' => array( 'name' => __( 'CPT', 'theme' ), 'singular_name' => __( 'CPT', 'theme' ), ), 'has_archive' => true, 'hierarchical' => true, 'menu_icon' => true, 'public' => true, 'rewrite' => array( 'slug' => 'cpt', 'with_front' => false ), 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ), 'taxonomies' => array( 'cpt-type' ), )); }
E questoper registrare unapagina Tipo ditassonomiain cui èpossibile crearetipi diimpostaillimitati.
add_action( 'init', 'wpsites_register_taxonomy_types' ); function wpsites_register_taxonomy_types() { register_taxonomy( 'cpt-type', 'cpt', array( 'labels' => array( 'name' => _x( 'Types', 'taxonomy general name', 'theme' ), 'add_new_item' => __( 'Add New CPT Type', 'theme' ), 'new_item_name' => __( 'New CPT Type', 'theme' ), ), 'exclude_from_search' => true, 'has_archive' => true, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'cpt-type', 'with_front' => false ), 'show_ui' => true, 'show_tagcloud' => false, )); }
Sostituiscitutte leistanze di cpt conilnome deltuotipo dipostpersonalizzato,quindi salvanuovamente leimpostazioni di Permalink.
In caso contrario,potrebbeessere unproblema conil codicenelfiletaxonomy-cpt-type.php.
I think you should add support for custom taxonomy types and name the file taxonomy-cpt-type.php where cpt is the name of your Custom Post Type.
Your CPT archive file should be named archive-cpt.php where cpt is the name of your Custom Post Type.
Here's all the code which has been tested.
Note: You shouldn't be using tag or tags as the name of your custom taxonomy type as it will conflict with existing core functions.
add_action( 'init', 'wpsites_cpt_post_type' ); function wpsites_cpt_post_type() { register_post_type( 'cpt', array( 'labels' => array( 'name' => __( 'CPT', 'theme' ), 'singular_name' => __( 'CPT', 'theme' ), ), 'has_archive' => true, 'hierarchical' => true, 'menu_icon' => true, 'public' => true, 'rewrite' => array( 'slug' => 'cpt', 'with_front' => false ), 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ), 'taxonomies' => array( 'cpt-type' ), )); }
And this for registering a Taxonomy Type page where you can create unlimited tax types.
add_action( 'init', 'wpsites_register_taxonomy_types' ); function wpsites_register_taxonomy_types() { register_taxonomy( 'cpt-type', 'cpt', array( 'labels' => array( 'name' => _x( 'Types', 'taxonomy general name', 'theme' ), 'add_new_item' => __( 'Add New CPT Type', 'theme' ), 'new_item_name' => __( 'New CPT Type', 'theme' ), ), 'exclude_from_search' => true, 'has_archive' => true, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'cpt-type', 'with_front' => false ), 'show_ui' => true, 'show_tagcloud' => false, )); }
Replace all instances of cpt with the name of your custom post type then re-save your Permalink settings.
Otherwise, it may be a problem with the code in your taxonomy-cpt-type.php file.
-
- 2012-06-21
Credo che
tag
sia unnome di riscrittura dellatassonomia riservato su wordpress da utilizzarenellatassonomiapost_tag
predefinita.Ciòpotrebbe causareilproblema.Rinomina latassonomiapersonalizzatain qualcosa comecoupon-tag
.BTW: haiprovato a svuotare le riscritture visitando lapagina delpermalink dalla scheda delleimpostazioni?
i believe
tag
is a reserved taxonomy rewrite name on wordpress to be used on defaultpost_tag
taxonomy. That might cause the issue. Rename the custom taxonomy to something likecoupon-tag
.BTW: did you try flushing the rewrites by visiting permalink page from settings tab?
-
si,ho aggiornato leimpostazioni deipermalink.Ancoranon hafunzionato.Ho anche usato un altro slugper la riscritturae ho ottenuto lo stessoproblemayes, I have updated the permalinks settings. Still didn't work. I also used another slug for rewrite, and got the same issue
- 0
- 2012-06-21
- Godforever
-
@ Godforever: okey,dovraimostrareiltuo codiceper ottenere ulteriore aiuto.@Godforever: okey, you will need to show your code to get further help.
- 0
- 2012-06-23
- Sisir
-
- 2013-10-22
Prima ditutto,assicuriamoci di aver compreso la gerarchia deimodelli . Per untipo dipost denominato coupon con
'has_archive' => true
e unatassonomia denominata coupon-tag (seguendoil consiglio di @ Sisir),entrambiimpostati comepubblici,- /coupon/utilizzerà archive-coupon.php,archive.php oindex.php,a seconda di quale sitrovain quell'ordine
- /coupon-tag/foo/utilizzeràtaxonomy-coupon-tag-foo.php,taxonomy-coupon-tag.php,taxonomy.php,archive.php oindex.php,a seconda di quale sitrovaperprimoin quest'ordine . Tienipresente che archive-coupon.phpnon èin questoelenco (è unerrore comune).
- home.php verrà utilizzato soloper la homepage
Successivamente,
tag
è unaparola specialee incontrerai conflitti di riscrittura usandola come slug. Dovresti usare qualcos'altro.Infine,scaricare letue riscritture èmoltoimportante qui,e devi ricordarti difarlo dopo ognimodifica a qualsiasi codicepertinente (qualsiasimodifica al CPT o allatassonomia). Ilmodopiù sempliceperfarlo è andare su Impostazioni & rarr; Permalinke fai clic su "Salvamodifiche".
First off, let's make sure you understand the template hierarchy. For a post type named coupon with
'has_archive' => true
and a taxonomy named coupon-tag (following @Sisir's advice), both set to public,- /coupon/ will use archive-coupon.php, archive.php, or index.php, whichever is found in that order
- /coupon-tag/foo/ will use taxonomy-coupon-tag-foo.php, taxonomy-coupon-tag.php, taxonomy.php, archive.php, or index.php, whichever is found first in that order. Note that archive-coupon.php is not in this list (that's a common mistake).
- home.php will only be used for the homepage
Next,
tag
is a special word and you will encounter rewrite conflicts using that as your slug. You should use something else.Lastly, flushing your rewrites is very important here, and you need to remember to do it after any changes to any of the relevant code (any changes to the CPT or taxonomy). The easiest way to do so is to go to Settings → Permalinks and click "Save Changes".
Ho unproblema simile a questo: Modello ditipo dipostpersonalizzato - Archivio
Ho untipo dipostpersonalizzato WordPress chiamato
coupon
. Provo ad assegnargliilmodello utilizzandoarchive-coupon.php
,ma va direttamente ahome.php
.Ho anche unatassonomiapersonalizzata di questo CPT chiamata
tags
con larewrite rule => "tag"
quindi quando vado a un URL come questo:http://mysite.com/tag/3d
voglio vedere unmodellopersonalizzatoperilmiotipo di articolopersonalizzato ogeneraleper letassonomie.Ho ancheprovatoilmodello
taxonomy.php
ma loignora ancora. Qualepotrebbeessereilproblema?Aggiorna -
Non so cosa sia successo veramente. Maprima avevo unmodello chiamatotaxonomy-store.php. Quindi,quando l'ho rinominato con un altronome,il
tags
dellatassonomia hainiziato a utilizzareilfilemodellotaxonomy.php
. E ancoraarchive-coupon.php
nonfunziona.