Как да комбинирате публикации и персонализирани типове публикации в WordPress заявки и RSS емисия

WordPress или Elementor Обединете или комбинирайте публикации и персонализирани типове публикации в заявка

Една от най-невероятните функции на WordPress е способността за изграждане Персонализирана Публикувай Видове. Тази гъвкавост е фантастична... тъй като персонализираните типове публикации могат да се използват за бизнеса за лесно организиране на други видове публикации като събития, местоположения, често задавани въпроси, елементи от портфолио. Можете да създавате персонализирани таксономии, допълнителни полета с метаданни и дори персонализирани шаблони, за да ги показвате.

На нашия сайт на адрес Highbridge, имаме настроен персонализиран тип публикация проекти в допълнение към нашия блог, където споделяме фирмени новини. Като имаме персонализиран тип публикация, ние можем да подравним проектите на нашите страници с възможности... така че, ако видите нашите WordPress услуги, проектите, върху които сме работили, които са свързани с WordPress, ще се покажат автоматично. Работя усилено, опитвайки се да документирам всички наши проекти, така че посетителите на нашия сайт да могат да видят масива от работа, която вършим за компаниите.

Обединяване на публикации и персонализирани типове публикации

Нашата начална страница вече е доста обширна, така че не исках да създавам раздел за публикациите в нашия блог И раздел за най-новите ни проекти. Искам да слея както публикации, така и проекти в един и същ изход, използвайки нашия конструктор на шаблони, Elementor. 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

Още една забележка… Elementor има наистина страхотна функция, където можете да наименувате и запазвате заявка във вашия сайт. В този случай създавам заявка, наречена news-projects и след това мога да я извикам от потребителския интерфейс на Elementor в секцията Заявка за публикации.

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

Разкриване: Използвам своя Elementor партньорска връзка в тази статия.