-
Am o mica problema: in /wp-admin/edit-tags.php?taxonomy=category imi apare acum doar lista cu cele sticky, nu si restul de articole. Cum pot rezolva sa imi apara toate pe administrare, si doar in site (in afisare) sa apara doar cele sticky?
Multumesc!
-
in acel if... mai adaugi: !is_admin()
Cod PHP:
if ( !is_admin() && $query->is_category() && $query->is_main_query() ) {
...
-
Superb, mersi din nou maestre!
-
Salutari!
Am o noua rugaminte, asemanatoare.
Vreau pe index, in pagina 1 sa afisez doar postarile sticky, iar pe paginile 2, 3, 4... sa afisez postarile care nu sunt sticky, in functie de data postarii. Deci practic indexul normal incepe de la pagina 2, iar pe pagina 1 afisam sticky posts.
Cum pot face asta? Multumesc anticipat!
-
Am scris direct codul, dar ar trebui sa mearga.
Cod PHP:
function pre_get_posts_home_sticky( $query ) {
$paged = get_query_var('paged') ? : 1;
if($query->is_main_query() && !is_admin() && is_home() && $paged === 1) {
$query->set( 'post__in', get_option('sticky_posts', array()) );
}
}
add_action( 'pre_get_posts', 'pre_get_posts_home_sticky' );
-
Am pus acum codul si e oarecum ciudat:
1) Cand sunt pe index imi apar pe index doar cele 17 postari care sunt sticky - deci OK
2) Jos la paginatie cand sunt pe index imi arata 2 pagini.
3) Cand intru pe pagina 2, imi arata ca blogul are 3, nu 2 pagini.
4) Pe paginile 2 si 3 imi afiseaza 14 postari, toate fiind dintre cele sticky.
Deci: eu vreau pe index sa apara doar ce am sticky (cele 17) si pe paginile 2,3,4 sa apara restul postarilor (fara sa le mai includa si pe cele sticky) si sa preia pe pagina cate am setat eu din setari (gen 10 pe pagina). Eu am acum 24 de postari in total, din care 17 sticky si 7 normale, deci pagina 2 ar trebui sa contina doar pe cele 7 fara sticky.
Mersi!
-
E corecta afisarea paginarii tinand cont de conditiile aplicate. De ce? Pt ca:
1. atunci cand esti pe homepage - page 1, se aplica sa se afiseze sticky posts. Cum tu ai 17 sticky posts, paginarea este generata in functie de main query. Asa ca ... 17 posts, cate 10 per pagina => 2 pagini
2. atunci cand esti pe homepage - page 2, nu se mai aplica regula anterioara. Asa ca ai 24 posts, cate 10 per pagina => 3 pagini.
Pentru a merge tot cum trebuie... e necesara si "pacalirea" paginarii. Pe page 1 trebuie facuta sa genereze paginarea pt articolele normale, iar pe restul paginilor trebuie ca query-ul sa nu afiseze sticky_posts si paginarea sa tina cont de current_page-1. E ceva mai complex.
-
E ciudat ca tema mea pune pe index sa zicem toate 24 postarile, iar daca pun 10 sticky, in loc sa le bage pe cele sticky mai sus si sa fie tot 24, afiseaza sus pe cele 10 apoi dinjos pe toate 24. Adica pe cele sticky le afiseaza de 2 ori, o da cu sticky, o data normal.
Daca afisa bine jonglam usor cu ele: dadeam afisarea de 17 pe pagina si deci pag 1 avea doar sticky, iar pag 2-3 pe restul. Cand mai faceam rost de inca 3 sticky, afisam 20 pe pagina si tot asa.