web-dev-qa-db-fra.com

Les catégories et les balises ne fonctionnent pas!

Je suis aux dernières étapes du débogage pour un projet de conception Web majeur sur lequel je travaille depuis 6 mois.

Le site lui-même est basé sur le fait qu’il est devenu un peu un géant (fusionnant 4 sites existants en un énorme!) Avec divers types de messages personnalisés, etc.

Pour aller droit au but - mes archives de catégories et de balises ne fonctionnent plus, si vous cliquez sur une catégorie/balise dans la barre latérale alors que vous êtes dans l'un des blogs, plutôt que de vous amener à une liste de publications de blog dans la même catégorie/balise, cela va juste à une liste de rien:

Exemples de blogs: http://whitewatergroup.eu/leadership-blog/

Exemple de catégorie/balise archive: http://whitewatergroup.eu/category/100-lessons-on-happiness/

J'ai basé le site sur ce modèle; Lumière de carbone:

Je cherche depuis des semaines à comprendre comment faire fonctionner cela - mais cela me dépasse - si quelqu'un peut m'aider et me guider dans la bonne direction pour dire comment j'ai tout gâché!

Je commence à me demander si je n'ai pas enregistré correctement les messages personnalisés. Voici un exemple du code que j'ai utilisé:

add_action( 'init', 'register_cpt_womens_blog' );
function register_cpt_womens_blog() {
    $labels = array(
        'name' => _x( 'Women in Business Blog', 'womens_blog' ),
        'singular_name' => _x( 'Womens Blog', 'womens_blog' ),
        'add_new' => _x( 'Add New', 'womens_blog' ),
        'add_new_item' => _x( 'Add New Womens Blog', 'womens_blog' ),
        'edit_item' => _x( 'Edit Womens Blog', 'womens_blog' ),
        'new_item' => _x( 'New Womens Blog', 'womens_blog' ),
        'view_item' => _x( 'View Womens Blog', 'womens_blog' ),
        'search_items' => _x( 'Search Women in Business Blog', 'womens_blog' ),
        'not_found' => _x( 'No women in business blog found', 'womens_blog' ),
        'not_found_in_trash' => _x( 'No women in business blog found in Trash', 'womens_blog' ),
        'parent_item_colon' => _x( 'Parent Womens Blog:', 'womens_blog' ),
        'menu_name' => _x( 'Women in Business Blog', 'womens_blog' ),
    );
    $args = array(
        'labels' => $labels,
        'hierarchical' => false,
        'description' => 'Women in Business Blog',
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes' ),
        'taxonomies' => array( 'category', 'post_tag', 'page-category' ),
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'menu_position' => 5, 
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post',
    'yarpp_support' => true
    );
    register_post_type( 'womens_blog', $args );
} 

J'espère que quelqu'un peut m'aider!

À votre santé

2
harry

Les pages d'archives de catégories et de balises interrogent uniquement le type d'article post. Si vous souhaitez que des types d'articles personnalisés apparaissent sur ces pages, vous devez modifier la requête via pre_get_posts pour ajouter des types supplémentaires.

function wpd_womens_blog_taxonomy_queries( $query ) {
    if ( ( $query->is_category() || $query->is_tag() )
        && $query->is_main_query() ) {
            $query->set( 'post_type', array( 'post', 'womens_blog' ) );
    }
}
add_action( 'pre_get_posts', 'wpd_womens_blog_taxonomy_queries' );
3
Milo

Vous devez utiliser la register_taxonomy_for_object_type() pour enregistrer les taxonomies préexistantes avec vos types de publication personnalisés (leaders_blog_post, womens_blog, etc.). Référence du Codex pour register_taxonomy_for_object_type ()

Blog Ex pour les femmes:

register_taxonomy_for_object_type('category', 'womens_blog');

Cela peut être ajouté au bas de votre fonction register_cpt_womens_blog. Voir aussi Le message de Pippin pour d'autres exemples d'utilisation de la fonction register_taxonomy_for_object_type.

0
TomHarrigan