web-dev-qa-db-fra.com

Comment nous affichons les archives pour des catégories spécifiques

Je veux juste montrer Archives pour les catégories spéciales. Par exemple, j'ai categoriesabc, xyz. Je veux juste montrer Archives pour xyz pas pour abc. J'utilise actuellement du code pour afficher les archives est

<ul>
   <li><?php wp_get_archives( array( 'type' => 'monthly', 'format' => 'li', 'show_post_count' => 1, 'include'=>1 ) ); ?></li>
</ul>

alors, comment puis-je montrer Archives pour xyzcategory seulement. Merci

1
Adi

Ajoutez-le à votre fichier functions.php et remplacez "Non classé par le nom de la catégorie".

add_filter( 'getarchives_where', 'wse95776_archives_by_cat', 10, 2 );
/**
 * Filter the posts by category slug
 * @param $where
 * @param $r
 *
 * @return string
 */
function wse95776_archives_by_cat( $where, $r ){
    return "WHERE wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish' AND wp_terms.slug = 'Uncategorized' AND wp_term_taxonomy.taxonomy = 'category'";
}

add_filter( 'getarchives_join', 'wse95776_archives_join', 10, 2 );

/**
 * Defines the necessary joins to query the terms
 * @param $join
 * @param $r
 *
 * @return string
 */
function wse95776_archives_join( $join, $r ){
    return 'inner join wp_term_relationships on wp_posts.ID = wp_term_relationships.object_id inner join wp_term_taxonomy on wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id inner join wp_terms on wp_term_taxonomy.term_id = wp_terms.term_id';
}
2
paul