Gaunant WordPress įrašų sąrašą galima filtruoti užklausą pridedant papildomą sąlygą. Pavyzdžiui, jei reikia parodyti tik lipnius įrašus, reikia paimti visų lipnių įrašų sąrašą ir įtraukti juos į WHERE sąlygos filtrą.
$sticky = get_option('sticky_posts');
$where .= ' AND wp_posts.ID IN ('.implode(',', $sticky).') ';
Jei tokia sąlyga yra reikalinga tik pagrindiniame puslapyje, reikia pridėti tikrinimą pagal funkciją is_home(). WordPress užklausos sąlygos pakeitimams yra specialus filtras posts_where, kuris grąžina WHERE sąlygos reikšmę prieš darant užklausą į duomenų bazę. Šis filtras gali būti naudojamas kurti papildinius, pavyzdžiui, rodyti tik lipnius įrašus pagrindiniame puslapyje:
<?php
//Plugin Name: Forever Sticky
//Description: Rodyti tik lipnius įrašus pagrindiniame wordpress puslapyje
//Author: Polyetilen
//Version: 1.0
function forever_sticky_condition ( $where ) {
if(is_home()){
$sticky = get_option('sticky_posts');
if(count($sticky)>0){
return $where.' AND wp_posts.ID IN ('.implode(',', $sticky).') ';
}else{
return $where;
}
}else{
return $where;
}
}
add_filter('posts_where', 'forever_sticky_condition');
?>
Parsisiųsti papildinį Forever sticky.
