Limitare WP_get_archives per categoria?

7 feb 2011, 16:39:41
Visualizzazioni: 15.9K
Voti: 3

Ho due categorie su un sito - notizie che contiene post di news e blog - che contiene post di blog. Ogni pagina ha un wp_get_archives nella sidebar. Vorrei limitare l'elenco degli archivi per categoria ma dopo aver consultato il codex questo non sembra possibile. http://codex.wordpress.org/Function_Reference/wp_get_archives

<?php wp_get_archives('type=monthly&limit=12'); ?>

Questo codice elenca gli archivi per tutti i post, ma io voglio elencare gli archivi solo per quella categoria. Sto usando la funzione sbagliata? O non è possibile?

1
Commenti

Usa questo http://kwebble.com/blog/2007_08_15/archives_for_a_category

wpmayor wpmayor
14 apr 2011 13:00:10
Tutte le risposte alla domanda 4
3

Fondamentalmente questo è possibile, ma un po' complicato. Questa funzione si basa su una query SQL diretta al database, che puoi modificare tramite i filtri getarchives_where e getarchives_join.

7 feb 2011 16:47:03
Commenti

ma solo per una categoria... e se volessi separare l'archivio in tre archivi completamente distinti? Uno per il blog, uno per le news e uno per le mostre. Sono riuscito a prendere parte dell'URL, quindi ho sistemato l'etichetta successiva. Il problema è che i link del widget archivio mi portano sempre all'archivio generale con link come mysite.com/2012/12 invece di mysite.com/news/2012/12

toto_tico toto_tico
26 giu 2013 07:47:48

@toto_tico per favore fai una nuova domanda riguardo al tuo problema :)

Rarst Rarst
26 giu 2013 12:33:25

L'ho fatto qui. Alla fine ho trovato una risposta che funziona più o meno. Almeno, so che posso sistemare ciò che manca.

toto_tico toto_tico
26 giu 2013 13:03:27
0

Ho appena installato questo plugin e sembra funzionare correttamente.

http://wordpress.org/extend/plugins/wp-category-archive/installation/

8 feb 2011 06:56:59
2

Utilizzo questo codice sul mio sito per estrarre i post da una categoria specifica (questo si trova nella sidebar - mostra solo i miei post del 'blog' e non quelli del 'portfolio'):

<ul>
<?php
global $post;
$myposts = get_posts('numberposts=10&category=3&order=DESC');
foreach($myposts as $post) :
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul> 
7 feb 2011 16:46:02
Commenti

Potresti espandere questo e farlo mostrare solo i post per la categoria in cui ti trovi attualmente ottenendo lo slug o l'ID della categoria dal post e passandolo in una variabile. Poi usa la variabile nella tua query per i post nella sidebar. Guarda il globale $post per le informazioni sulla tassonomia o usa get_term_by() per ottenere l'intero oggetto del termine e poi estrai lo slug o l'ID con qualcosa come $var = $taxObject->slug; Lo metterei in un contatore così viene eseguito solo sul primo post della pagina.

curtismchale curtismchale
7 feb 2011 17:35:30

Mmm non sto cercando di visualizzare i post, sto cercando di visualizzare archivi mensili come questo http://nikibrown.com/uploads/a0fba9b8d23d24fdfcf76fb5d9eaaab7.png

nikibrown nikibrown
7 feb 2011 19:11:38
0

Non sono sicuro se questo stratagemma funzionerà: se invece dell'archivio utilizzi un feed RSS e specifichi per il feed RSS il numero di titoli di articoli da mostrare.

È semplice ottenere il feed RSS della categoria - facile specificare il numero di articoli.

No? Funzionerebbe?

7 feb 2011 19:07:02