Як аб'яднаць паведамленні і карыстальніцкія тыпы паведамленняў у запытах WordPress і RSS-стужцы

WordPress або Elementor аб'ядноўваюць або аб'ядноўваюць паведамленні і карыстальніцкія тыпы паведамленняў у запыце

Адной з самых дзіўных асаблівасцяў WordPress з'яўляецца магчымасць будаваць Мытны пост Віды. Гэтая гнуткасць з'яўляецца фантастычнай... бо карыстальніцкія тыпы паведамленняў могуць быць выкарыстаны для бізнесу, каб лёгка арганізаваць іншыя тыпы паведамленняў, такіх як падзеі, месцы, часта задаюць пытанні, элементы партфоліо. Вы можаце ствараць карыстальніцкія таксанаміі, дадатковыя палі метададзеных і нават карыстальніцкія шаблоны для іх адлюстравання.

На нашым сайце па адрасе Highbridge, у нас настроены карыстальніцкі тып паведамлення праектаў у дадатак да нашага блога, дзе мы дзелімся навінамі кампаніі. Маючы карыстальніцкі тып паведамлення, мы можам выраўноўваць праекты на нашых старонках магчымасцяў ... так што, калі вы прагледзіце нашы Сэрвісы WordPress, праекты, над якімі мы працавалі, якія звязаны з WordPress, будуць аўтаматычна адлюстроўвацца. Я старанна працую, спрабуючы задакументаваць усе нашы праекты, каб наведвальнікі нашага сайта маглі бачыць шэраг працы, якую мы выконваем для кампаній.

Аб'яднанне паведамленняў і карыстальніцкіх тыпаў паведамленняў

Наша галоўная старонка ўжо даволі шырокая, таму мне не хацелася ствараць раздзел для нашых паведамленняў у блогу І раздзел для нашых апошніх праектаў. Я хачу аб'яднаць і паведамленні, і праекты ў адзін і той жа вынік, выкарыстоўваючы наш канструктар шаблонаў, факір. Elementor не мае інтэрфейсу для аб'яднання або аб'яднання паведамленняў і карыстальніцкіх тыпаў паведамленняў, але гэта даволі проста зрабіць самастойна!

На старонцы functions.php вашай дзіцячай тэмы вось прыклад таго, як аб'яднаць гэтыя два:

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

Фільтр pre_get_posts дазваляе абнавіць запыт і наладзіць яго так, каб атрымліваць як вашу публікацыю, так і праект карыстальніцкі тып паведамлення. Вядома, калі вы пішаце свой код, вам трэба будзе абнавіць карыстальніцкі тып(ы) паведамленняў у адпаведнасці з вашымі рэальнымі назвамі.

Аб'яднанне паведамленняў і карыстальніцкіх тыпаў паведамленняў у вашай стужцы

У мяне таксама ёсць сайт, які аўтаматычна публікуецца ў сацыяльных сетках праз сваю стужку... таму я таксама хацеў выкарыстаць той жа запыт, каб усталяваць RSS-канал. Каб зрабіць гэта, мне проста трэба было дадаць аператар АБО і ўключыць 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' );

Аб'яднанне паведамленняў і карыстальніцкіх тыпаў паведамленняў у Elementor

Яшчэ адна заўвага… факір мае сапраўды выдатную функцыю, дзе вы можаце назваць і захаваць запыт на сваім сайце. У гэтым выпадку я ствараю запыт пад назвай news-projects, а затым магу выклікаць яго з карыстальніцкага інтэрфейсу Elementor у раздзеле 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' );

Вось як гэта выглядае ў карыстальніцкім інтэрфейсе Elementor:

Запыт паведамленняў elementor

Раскрыццё інфармацыі: я выкарыстоўваю свой факір партнёрская спасылка ў гэтым артыкуле.