Visualizzare solo i post di una certa categoria nella sezione Admin di WordPress?
Voglio aggiungere una nuova voce al menu dei post che mostri solo i post di una determinata categoria. Aggiungere una nuova pagina è semplice se si tratta solo di un nuovo tipo di post. Ma voglio mostrare solo i post con una categoria specifica e assicurarmi che la categoria sia selezionata quando aggiorno i post.
Non esiste un modo per farlo? Speravo in qualche funzione semplice, come fa register_post_type(). Dato che sembra non esserci, qualcuno può darmi qualche suggerimento su come procedere? È addirittura possibile? O dovrei semplicemente usare un tipo di post personalizzato?
Puoi filtrare l'elenco degli articoli aggiungendo ?category_name=xx all'URL dell'elenco articoli nell'area di amministrazione, e puoi aggiungere una pagina sottomenu con quell'URL come destinazione tramite add_submenu_page:
add_action( 'admin_menu', 'wpd_admin_menu_item' );
function wpd_admin_menu_item(){
add_submenu_page(
'edit.php',
'Titolo pagina',
'Titolo voce menu',
'edit_posts',
'edit.php?category_name=somecat'
);
}
Puoi ciclare i post per nome della categoria o ID:
$query = new WP_Query( array( 'category_name' => 'staff' ) );
oppure
$query = new WP_Query( array( 'cat' => 4 ) );
e utilizzare il classico metodo per il ciclo:
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
get_title();
endwhile;
else :
echo 'Nessun post trovato';
endif;
Devi creare un nuovo template personalizzato, ottenere l'ID della categoria, impostare l'ID nella nuova WP_Query e ciclare i risultati.
Ecco una documentazione su come utilizzare WP_Query()
Grazie, sono a conoscenza della query. Sto cercando di non fare tutto manualmente, deve esserci qualche metodo API che genera le pagine "tutti i post" o "pagine", a cui posso semplicemente fornire un argomento per mostrare solo i post che sono nella categoria "x"?
Arnold Rimmer
Davvero non conosco nessun plugin per quello. Penso che ne esistano ma devi cercare. Alcuni template lo supportano ma il mio suggerimento per te è di creare un nuovo template personalizzato, copiare 1:1 del codice originale dal tuo template e semplicemente modificare il codice della query.
Ivijan Stefan Stipić
Il plugin Category Posts Widget può fare questo. https://wordpress.org/plugins/category-posts/
Category Posts Widget è un widget leggero progettato per fare una cosa e farla bene: mostrare i post più recenti di una determinata categoria.
Documentazione su come usarlo.
e
Se vuoi vedere come hanno fatto, questo è il loro repository GitHub.