web-dev-qa-db-fra.com

Y a-t-il un moyen de ne lister que les messages d'une certaine catégorie

Je souhaite ajouter un nouveau point de menu à publier qui montre les messages d’une certaine catégorie. L'ajout d'une nouvelle page est facile s'il ne s'agit que d'un nouveau type de publication. Mais je souhaite uniquement afficher les publications avec une catégorie spécifique et lors de la mise à jour des publications, assurez-vous que la catégorie est cochée.

Est-ce qu'il n'y a pas moyen de faire ça? J'espérais un fonctionnement simple, comme le fait la méthode register_post_type (). Comme cela ne semble pas être le cas, est-ce que quelqu'un me donne des conseils sur la manière de procéder? Est-ce même possible? Ou devrais-je simplement utiliser un type de message personnalisé?

2
Arnold Rimmer

Vous pouvez filtrer la liste des publications en ajoutant ?category_name=xx à l'URL de la liste des publications de l'administrateur, et vous pouvez ajouter une page de sous-menu avec cette URL comme cible via add_submenu_page:

add_action( 'admin_menu', 'wpd_admin_menu_item' );
function wpd_admin_menu_item(){
    add_submenu_page(
        'edit.php',
        'Page title',
        'Menu item title',
        'edit_posts', 
        'edit.php?category_name=somecat'
    );
}
3
Milo

Vous pouvez lire les publications en boucle par nom de catégorie ou par identifiant:

$query = new WP_Query( array( 'category_name' => 'staff' ) );

ou

$query = new WP_Query( array( 'cat' => 4 ) );

et utilisez simplement le bon vieux mode pour faire une boucle:

if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
        get_title();
    endwhile;
else :
    echo 'No posts';
endif;

Vous devez créer un nouveau modèle personnalisé, obtenir l'ID de la catégorie, l'ID de configuration dans le nouveau WP_Query et le boucler.

Voici une documentation sur la façon d'utiliser WP_Query ()

0

Le plugin Catégorie Messages Widget fera cela. https://wordpress.org/plugins/category-posts/

Catégorie Widget Posts est un widget léger conçu pour faire une chose et bien le faire: afficher les messages les plus récents d'une certaine catégorie.

Documentation pour savoir comment l'utiliser.

et

Si vous voulez voir comment ils l'ont fait, c'est leur github repo .

0
nu everest