Cum să limitez WP_get_archives după categorie?

7 feb. 2011, 16:39:41
Vizualizări: 15.9K
Voturi: 3

Am două categorii pe un site - știri care conțin postări de știri și blog - care conțin postări de blog. Fiecare pagină are un wp_get_archives în bara laterală. Aș dori să limitez lista de arhive după categorie, dar după ce am verificat codex-ul, acest lucru nu pare posibil. http://codex.wordpress.org/Function_Reference/wp_get_archives

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

Acest cod listează arhivele pentru toate postările, dar eu vreau să listez arhivele doar pentru acea categorie. Folosesc funcția greșită? Sau acest lucru nu este posibil?

1
Comentarii

Folosește acest http://kwebble.com/blog/2007_08_15/archives_for_a_category

wpmayor wpmayor
14 apr. 2011 13:00:10
Toate răspunsurile la întrebare 4
3

În principiu, acest lucru este posibil, dar oarecum complicat. Această funcție se bazează pe o interogare SQL directă către baza de date, pe care o poți modifica prin filtrele getarchives_where și getarchives_join.

7 feb. 2011 16:47:03
Comentarii

dar doar pentru o categorie... ce se întâmplă dacă vreau să separ arhiva în trei arhive complet separate. Una pentru blog, una pentru știri și una pentru expoziții. Am reușit să preiau o parte din URL, așa că am rezolvat următoarea etichetă. Problema este că link-urile din widget-ul de arhivă mă duc întotdeauna la arhiva generală cu link-uri precum mysite.com/2012/12 în loc de mysite.com/news/2012/12

toto_tico toto_tico
26 iun. 2013 07:47:48

@toto_tico te rog să pui o nouă întrebare despre problema ta :)

Rarst Rarst
26 iun. 2013 12:33:25

Am făcut-o aici. În final, am găsit un răspuns care funcționează parțial. Cel puțin, știu că pot ajusta ceea ce lipsește.

toto_tico toto_tico
26 iun. 2013 13:03:27
0

Tocmai am instalat acest plugin și pare să funcționeze corespunzător.

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

8 feb. 2011 06:56:59
2

Folosesc acest cod pe site-ul meu pentru a afișa postări dintr-o anumită categorie (acest cod este în bara laterală - afișează doar postările din categoria 'blog' și nu pe cele din categoria 'portofoliu'):

<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
Comentarii

Ai putea extinde asta și face ca sidebarul să afișeze doar postările din categoria în care te afli momentan, obținând slug-ul sau ID-ul categoriei din post și trecându-le într-o variabilă. Apoi folosește variabila în interogarea pentru postările din sidebar. Verifică variabila globală $post pentru informații despre taxonomii sau folosește get_term_by() pentru a obține întregul obiect de termen, apoi extrage slug-ul sau ID-ul cu ceva de genul $var = $taxObject->slug; Aș pune asta într-un counter ca să ruleze doar pentru prima postare de pe pagină.

curtismchale curtismchale
7 feb. 2011 17:35:30

Hmmm, nu încerc să afișez postări, încerc să afișez arhive lunare ca cele din această imagine http://nikibrown.com/uploads/a0fba9b8d23d24fdfcf76fb5d9eaaab7.png

nikibrown nikibrown
7 feb. 2011 19:11:38
0

nu sunt sigur dacă această soluție ar funcționa: dacă în loc de arhivă ai folosi RSS și ai specifica pentru RSS numărul de titluri de articole care să fie afișate.

este ușor să obții RSS-ul categoriei - ușor de specificat numărul de postări.

nu? ar funcționa?

7 feb. 2011 19:07:02