Cum să combinați postările și tipurile de postări personalizate în interogările WordPress și fluxul RSS

WordPress sau Elementor Îmbinați sau combinați postări și tipuri de postări personalizate în interogare

Una dintre cele mai uimitoare caracteristici ale WordPress este capacitatea de a construi Tipuri personalizate Publica. Această flexibilitate este fantastică... deoarece tipurile de postări personalizate pot fi utilizate pentru o afacere pentru a organiza cu ușurință alte tipuri de postări, cum ar fi evenimente, locații, întrebări frecvente, articole din portofoliu. Puteți crea taxonomii personalizate, câmpuri de metadate suplimentare și chiar șabloane personalizate pentru a le afișa.

Pe site-ul nostru la Highbridge, avem un tip de postare personalizat configurat pentru Proiecte pe lângă blogul nostru, unde împărtășim știrile companiei. Având un tip de postare personalizat, putem alinia proiectele pe paginile noastre de capabilități... deci, dacă vedeți Servicii WordPress, proiectele la care am lucrat și care sunt legate de WordPress se vor afișa automat. Lucrez din greu încercând să documentez toate proiectele noastre, astfel încât vizitatorii site-ului nostru să poată vedea gama de lucrări pe care le facem pentru companii.

Îmbinarea postărilor și a tipurilor de postări personalizate

Pagina noastră de pornire este deja destul de extinsă, așa că nu am vrut să fiu nevoit să construiesc o secțiune pentru postările de pe blog ȘI o secțiune pentru cele mai recente proiecte ale noastre. Vreau să îmbin atât postările, cât și proiectele în aceeași ieșire folosind generatorul nostru de șabloane, Elementor. Elementor nu are o interfață pentru a îmbina sau combina postări și tipuri de postări personalizate, dar este destul de simplu să faci asta singur!

În pagina functions.php a temei copilului dvs., iată un exemplu despre cum să combinați cele două:

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' );

Filtrul pre_get_posts vă permite să actualizați interogarea și să o setați pentru a obține atât postarea dvs., cât și proiect tip de post personalizat. Desigur, atunci când scrieți codul, va trebui să actualizați tipul (tipurile) de postare personalizat(e) la convenția de denumire reală a dvs.

Îmbinarea postărilor și a tipurilor de postări personalizate în feedul dvs

De asemenea, am site-ul publicând automat pe rețelele sociale prin intermediul feedului său... așa că am vrut să folosesc aceeași interogare pentru a seta fluxul RSS. Pentru a face acest lucru, a trebuit doar să adaug o declarație SAU și să includ este_alimentat.

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' );

Îmbinarea postărilor și a tipurilor de postări personalizate în Elementor

Încă o notă… Elementor are o caracteristică grozavă prin care poți denumi și salva o interogare în site-ul tău. În acest caz, construiesc o interogare numită news-projects și apoi o pot apela din interfața de utilizator Elementor din secțiunea Posts Query.

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

Iată cum arată în interfața de utilizator Elementor:

elementar postează interogare

Divulgare: îl folosesc pe al meu Elementor link afiliat în acest articol.