WordPress – taxonomie personnalisée – pas d’archive

Publié par Jean-Michel le

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é.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *