Bonjour, j'ai créé un type de message personnalisé appelé shows.
voici le code pour cela.
<?php
add_action('init', 'show_register');
function show_register() {
//arguments to create the post type.
$args = array(
'label' => __('shows'),
'singular_label' => __('Show'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields'),
'rewrite' => array('slug' => 'shows', 'with_front'
=> false), );
//Register type and custom taxonomy for type.
register_post_type( 'shows' , $args );
register_taxonomy("Show-type", array("shows"),
array("hierarchical" => true, "label" => "Show
Types", "singular_label" => "Show Type", "rewrite"
=> true, "slug" => 'show-type'));
}
?>
J'ai créé 2 fichiers qui suivent en conséquence la hiérarchie wordpress et les ai appelés archive-shows.php
et single-shows.php
. Ceux-ci devraient automatiquement créer un lien vers les pages correctes, mais pour une raison quelconque, ils reviennent tous deux par défaut à index.php.
Les single.php
et archive.php
normaux fonctionnent normalement.
Les correctifs testés Permaliens Flushed a archive = true
s'il vous plaît des suggestions.
Vous devez vider vos permaliens après avoir enregistré ces choses. Il existe des moyens de le faire automatiquement, mais le moyen le plus simple et le plus rapide est de rechercher wp-admin->Settings->Permalinks
et de cliquer sur "Enregistrer les modifications". Cela fonctionnera bien s'il s'agit de votre site et que vous ne distribuez pas de plugin. S'il s'agit d'un plugin (ce qui devrait être le cas), vous pouvez exécuter flush_rewrite_rules();
sur le hook d'activation du plugin. Un exemple de faire cela du Codex:
function myplugin_activate() {
// register taxonomies/post types here
flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'myplugin_activate' );
function myplugin_deactivate() {
flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, 'myplugin_deactivate' );
Autre que cela, je n'ai eu aucun problème avec votre code (copié non modifié). Le CPT inscrit et single-shows.php
et archive-shows.php
fonctionnent après avoir vidé les permaliens.