Kako kombinirati postove i prilagođene vrste postova u WordPress upitima i RSS feedu

WordPress ili Elementor spajanje ili kombiniranje postova i prilagođenih tipova postova u upitu

Jedna od najnevjerovatnijih karakteristika WordPress-a je mogućnost izgradnje Custom Post Types. Ova fleksibilnost je fantastična… budući da se prilagođeni tipovi objava mogu koristiti za poslovanje za lako organiziranje drugih vrsta objava kao što su događaji, lokacije, često postavljana pitanja, stavke portfelja. Možete napraviti prilagođene taksonomije, dodatna polja metapodataka, pa čak i prilagođene predloške za njihovo prikazivanje.

Na našoj stranici na adresi Highbridge, imamo podešenu prilagođenu vrstu objave projekti pored našeg bloga na kojem dijelimo vijesti kompanije. Imajući prilagođeni tip objave, možemo uskladiti projekte na našim stranicama mogućnosti… pa ako pogledate naše WordPress usluge, automatski će se prikazati projekti na kojima smo radili, a koji su povezani sa WordPress-om. Naporno radim pokušavajući dokumentirati sve naše projekte kako bi posjetitelji naše stranice mogli vidjeti niz poslova koje obavljamo za kompanije.

Spajanje postova i prilagođenih vrsta postova

Naša početna stranica je već prilično opsežna, tako da nisam želio da pravim odjeljak za naše blog postove I odjeljak za naše najnovije projekte. Želim spojiti i postove i projekte u isti izlaz koristeći naš alat za izradu predložaka, Elementor. Elementor nema interfejs za spajanje ili kombinovanje postova i prilagođenih tipova postova, ali je prilično jednostavno to učiniti sami!

Unutar stranice functions.php vaše dječje teme, evo primjera kako kombinirati to dvoje:

function add_query_news_projects( $query ) {
	if ( is_home() && $query->is_main_query() )
		$query->set( 'post_type', array( 'post', 'project' ) );
	return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Filter pre_get_posts vam omogućava da ažurirate upit i postavite ga da dobije i vašu objavu i projekt prilagođena vrsta objave. Naravno, kada pišete svoj kod, morat ćete ažurirati prilagođene vrste postova na vašu stvarnu konvenciju imenovanja.

Spajanje postova i prilagođenih tipova objava u vašem feedu

Također imam stranicu koja se automatski objavljuje na društvenim mrežama putem svog feeda… tako da sam također htio koristiti isti upit za postavljanje RSS feeda. Da bih to učinio, samo sam morao dodati naredbu OR i uključiti is_feed.

function add_query_news_projects( $query ) {
	if ( is_home() && $query->is_main_query() || is_feed() )
		$query->set( 'post_type', array( 'post', 'project' ) );
	return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Spajanje postova i prilagođenih tipova postova u Elementoru

Još jedna napomena… Elementor ima zaista sjajnu funkciju u kojoj možete imenovati i sačuvati upit unutar vaše web stranice. U ovom slučaju, pravim upit koji se zove news-projects i onda ga mogu pozvati iz korisničkog interfejsa Elementor u odeljku Upit za postove.

function my_query_news_projects( $query ) {
	$query->set( 'post_type', array( 'post', 'project' ) );
}
add_action( 'elementor/query/news-projects', 'my_query_news_projects' );

Evo kako to izgleda u korisničkom interfejsu Elementor:

elementor objavljuje upit

Otkrivanje: Koristim svoj Elementor pridružena veza u ovom članku.