WordPress – taxonomie personnalisée – pas d’archive
Essentiellement, j’ai construit mon site sur un thème qui a beaucoup de code manquant, pour des fonctionnalités qui devraient être là. J’ai réussi à tout régler à part ça.
Le site a un type de publication de portefeuille. Essentiellement, des catégories sont créées et des messages peuvent être attribués à ces catégories. Un article est créé, mais une page d’archive pour les catégories renvoie « Page introuvable ».
Ma partie functions.php pour cela est la suivante :
/** taxonomy.
--------------------------------------------------------------------------------------------------- */
function create_portfolio_taxonomy()
{
register_taxonomy(
'portfolio-category',
'portfolio',
array(
'labels' => array(
'name' => _x('Categories', 'portfolio', 'awe'),
'singular_name' => _x('Category', 'portfolio', 'awe'),
'menu_name' => __('Categories', 'awe'),
'all_items' => __('All Categories', 'awe'),
'edit_item' => __('Edit Category', 'awe'),
'view_item' => __('View Category', 'awe'),
'update_item' => __('Update Category', 'awe'),
'add_new_item' => __('Add New Category', 'awe'),
'new_item_name' => __('New Category Name', 'awe'),
'parent_item' => __('Parent Category', 'awe'),
'parent_item_colon' => __('Parent Category:', 'awe'),
'search_items' => __('Search Categories', 'awe'),
),
'show_admin_column' => true,
'hierarchical' => true,
'rewrite' => array(
'slug' => 'category',
),
)
);
}
add_action('init', 'create_portfolio_taxonomy', 0);
add_action('init', 'custom_taxonomy_flush_rewrite');
function custom_taxonomy_flush_rewrite() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
/*------------------------------------------------------------------------------------------------------------------*/
/* custom post type
/*------------------------------------------------------------------------------------------------------------------*/
add_action( 'init', 'create_portfolio_post_type' );
function create_portfolio_post_type() {
register_post_type( 'portfolio',
array(
'labels' => array(
'name' => __( 'Portfolio' ),
'singular_name' => __( 'Portfolio' )
),
'menu_icon' => 'dashicons-portfolio',
'hierarchical' => 'true',
'public' => true,
'has_archive' => true,
)
);
}
Comme vous pouvez le voir, je peux trier par catégorie dans la section de mon portefeuille sur ma page d’accueil – willd.co.uk/#clients
Page de publication – http://willd.co.uk/portfolio/victoria-front-of-house/ Page de catégorie qui ne fonctionne pas – http://willd.co.uk/category/eggs/
D’après ce que je comprends, WordPress passe par une hiérarchie de modèles potentiels et viendra ensuite à archive.php
Je suis nouveau sur php, donc j’utilise vraiment des tutoriels et de la logique pour que tout fonctionne.
J’ai vidé les permaliens.
Je pense que j’ai peut-être besoin de créer et de modifier un fichier portfolio-archive.php ou taxonomy.php plutôt que de le laisser tomber sur archive.php bien qu’après avoir regardé des tutoriels et d’autres réponses de stackoverflow, je n’ai pas pu travailler cela dehors.
Un grand merci pour toute aide,
O
Solution n°1 trouvée
Mieux vaut l’organiser en utilisant des tableaux et vous pouvez remarquer beaucoup de choses, changé le slug en catégorie de portefeuille et je pense que cela fonctionnera maintenant.
add_action( 'init', 'create_portfolio_taxonomies', 0 );
function create_portfolio_taxonomies(){
$labels = array(
'name' => _x('Categories', 'portfolio', 'awe'),
'singular_name' => _x('Category', 'portfolio', 'awe'),
'menu_name' => __('Categories', 'awe'),
'all_items' => __('All Categories', 'awe'),
'edit_item' => __('Edit Category', 'awe'),
'view_item' => __('View Category', 'awe'),
'update_item' => __('Update Category', 'awe'),
'add_new_item' => __('Add New Category', 'awe'),
'new_item_name' => __('New Category Name', 'awe'),
'parent_item' => __('Parent Category', 'awe'),
'parent_item_colon' => __('Parent Category:', 'awe'),
'search_items' => __('Search Categories', 'awe'),
);
$args = array('hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array(
'slug' => 'portfolio-category',
);
);
register_taxonomy( 'portfolio-category', array( 'portfolio' ), $args );
}
Une autre ressource que vous pouvez consulter est zilla-portfolio, un autre est le curseur de séquence que ces plugins ont bien utilisé.
0 commentaire