Rodyti tik lipnius įrašus pagrindiniame wordpress puslapyje

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.

Šis įrašas buvo paskelbtas kategorijoje Programavimas, WordPress su žyma , , , , , . Įrašykite į adresyną nuolatinę nuorodą.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *