Jak kombinovat příspěvky a vlastní typy příspěvků v dotazech WordPress a zdroji RSS

WordPress nebo Elementor Sloučit nebo kombinovat příspěvky a vlastní typy příspěvků v dotazu

Jednou z nejúžasnějších funkcí WordPressu je schopnost stavět Custom Post Druhy. Tato flexibilita je fantastická... protože vlastní typy příspěvků lze využít pro podnikání k organizaci jiných typů příspěvků, jako jsou události, místa, často kladené otázky, položky portfolia. Můžete vytvářet vlastní taxonomie, další pole metadat a dokonce vlastní šablony pro jejich zobrazení.

Na našich stránkách na Highbridge, máme nastaven vlastní typ příspěvku projekty kromě našeho blogu, kde sdílíme novinky o společnosti. Tím, že máme vlastní typ příspěvku, jsme schopni sladit projekty na našich stránkách schopností... takže pokud si prohlížíte naše služby WordPress, automaticky se zobrazí projekty, na kterých jsme pracovali a které souvisejí s WordPress. Usilovně se snažím zdokumentovat všechny naše projekty, aby návštěvníci našich stránek viděli řadu práce, kterou pro společnosti děláme.

Slučování příspěvků a vlastních typů příspěvků

Naše domovská stránka je již poměrně rozsáhlá, takže se mi nechtělo budovat sekci pro naše blogové příspěvky A sekci pro naše nejnovější projekty. Chci sloučit příspěvky i projekty do stejného výstupu pomocí našeho tvůrce šablon, Elementor. Elementor nemá rozhraní pro slučování nebo kombinování příspěvků a vlastních typů příspěvků, ale je docela jednoduché to udělat sami!

Na stránce functions.php vašeho podřízeného motivu je příklad, jak tyto dva zkombinovat:

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

Filtr pre_get_posts vám umožňuje aktualizovat dotaz a nastavit jej tak, aby získal váš příspěvek i projekt vlastní typ příspěvku. Samozřejmě, když napíšete svůj kód, budete muset aktualizovat vlastní typ příspěvku (typy) podle skutečné konvence pojmenování.

Slučování příspěvků a vlastních typů příspěvků ve vašem zdroji

Také mám stránky automaticky publikující na sociálních médiích prostřednictvím svého zdroje ... takže jsem také chtěl použít stejný dotaz k nastavení RSS kanálu. Abych to udělal, musel jsem přidat příkaz OR a zahrnout 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' );

Slučování příspěvků a vlastních typů příspěvků v Elementoru

Ještě jedna poznámka… Elementor má opravdu skvělou funkci, kde můžete pojmenovat a uložit dotaz v rámci svého webu. V tomto případě vytvářím dotaz nazvaný news-projects a poté jej mohu zavolat z uživatelského rozhraní Elementor v sekci Dotaz na příspěvky.

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

Takto to vypadá v uživatelském rozhraní Elementor:

elementor post dotaz

Zveřejnění: Používám své Elementor partnerský odkaz v tomto článku.