Kaip sujungti įrašus ir pasirinktinius įrašų tipus „WordPress“ užklausose ir RSS sklaidos kanale

„WordPress“ arba „Elementor“ sujunkite arba sujunkite įrašus ir tinkintus įrašų tipus užklausoje

Viena iš nuostabiausių „WordPress“ savybių yra galimybė kurti Individualizuotos Rašyti tipai. Šis lankstumas yra fantastiškas... nes tinkinti įrašų tipai gali būti naudojami įmonėms, kad būtų galima lengvai organizuoti kitokio tipo įrašus, pvz., įvykius, vietas, DUK, portfelio elementus. Galite sukurti pasirinktines taksonomijas, papildomus metaduomenų laukus ir net pasirinktinius šablonus, kad juos parodytumėte.

Mūsų svetainėje adresu Highbridge, mes nustatėme tinkintą įrašo tipą projektai be mūsų tinklaraščio, kuriame dalijamės įmonės naujienomis. Turėdami tinkintą įrašo tipą, galime suderinti projektus savo galimybių puslapiuose... taigi, jei peržiūrėsite mūsų WordPress paslaugos, automatiškai bus rodomi projektai, su kuriais dirbome ir kurie yra susiję su „WordPress“. Sunkiai dirbu, stengiuosi dokumentuoti visus mūsų projektus, kad mūsų svetainės lankytojai matytų, kokį darbą atliekame įmonėms.

Įrašų ir tinkintų įrašų tipų sujungimas

Mūsų pagrindinis puslapis jau yra gana platus, todėl nenorėjau kurti skyrelio mūsų tinklaraščio įrašams IR skyrelio mūsų naujausiems projektams. Noriu sujungti įrašus ir projektus į tą patį išvestį, naudodamas mūsų šablonų kūrimo priemonę, Elementor. „Elementor“ neturi sąsajos, leidžiančios sujungti arba sujungti įrašus ir pasirinktinius įrašų tipus, tačiau tai padaryti patiems gana paprasta!

Vaiko temos puslapyje functions.php pateikiamas pavyzdys, kaip sujungti šias dvi dalis:

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

Filtras pre_get_posts leidžia atnaujinti užklausą ir nustatyti, kad ji gautų ir jūsų įrašą, ir projektas pasirinktinis įrašo tipas. Žinoma, kai rašote kodą, turėsite atnaujinti pasirinktinį (-ius) įrašo tipą (-ius), kad atitiktų tikrąją jūsų pavadinimo tvarką.

Įrašų ir tinkintų įrašų tipų sujungimas sklaidos kanale

Svetainė taip pat automatiškai skelbiama socialinėje žiniasklaidoje per savo sklaidos kanalą... todėl taip pat norėjau naudoti tą pačią užklausą nustatydamas RSS sklaidos kanalą. Norėdami tai padaryti, turėjau pridėti ARBA teiginį ir įtraukti 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' );

Įrašų ir tinkintų įrašų tipų sujungimas „Elementor“.

Dar viena pastaba… Elementor turi tikrai puikią funkciją, kurią naudodami galite pavadinti ir išsaugoti užklausą savo svetainėje. Šiuo atveju aš kuriu užklausą, vadinamą naujienų projektais, ir tada galiu ją iškviesti iš Elementor vartotojo sąsajos, esančios skiltyje Pranešimų užklausa.

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

Štai kaip tai atrodo „Elementor“ vartotojo sąsajoje:

elementor pranešimų užklausa

Atskleidimas: Aš naudoju savo Elementor filialo nuoroda šiame straipsnyje.