वर्डप्रेस क्वेरी और आरएसएस फ़ीड में पोस्ट और कस्टम पोस्ट प्रकारों को कैसे संयोजित करें

WordPress या Elementor क्वेरी में पोस्ट और कस्टम पोस्ट प्रकारों को मर्ज या कम्बाइन करें

वर्डप्रेस की सबसे आश्चर्यजनक विशेषताओं में से एक है निर्माण करने की क्षमता कस्टम पोस्ट प्रकार. यह लचीलापन शानदार है… क्योंकि कस्टम पोस्ट प्रकारों का उपयोग व्यवसाय के लिए अन्य प्रकार की पोस्ट जैसे ईवेंट, स्थान, अक्सर पूछे जाने वाले प्रश्न, पोर्टफोलियो आइटम को आसानी से व्यवस्थित करने के लिए किया जा सकता है। आप उन्हें प्रदर्शित करने के लिए कस्टम टैक्सोनॉमी, अतिरिक्त मेटाडेटा फ़ील्ड और यहां तक ​​​​कि कस्टम टेम्प्लेट भी बना सकते हैं।

हमारी साइट पर Highbridge, हमारे पास एक कस्टम पोस्ट प्रकार है जिसके लिए सेट अप किया गया है परियोजनाओं हमारे ब्लॉग के अतिरिक्त जहां हम कंपनी समाचार साझा कर रहे हैं। एक कस्टम पोस्ट प्रकार होने से, हम अपने क्षमता पृष्ठों पर परियोजनाओं को संरेखित करने में सक्षम हैं ... इसलिए यदि आप हमारे देखते हैं वर्डप्रेस सेवाएं, जिन परियोजनाओं पर हमने काम किया है, वे वर्डप्रेस से संबंधित हैं, स्वचालित रूप से प्रदर्शित होंगी। मैं अपनी सभी परियोजनाओं का दस्तावेजीकरण करने की कोशिश में कड़ी मेहनत कर रहा हूं ताकि हमारी साइट के आगंतुक कंपनियों के लिए हमारे द्वारा किए जाने वाले काम को देख सकें।

पोस्ट और कस्टम पोस्ट प्रकार मर्ज करना

हमारा होम पेज पहले से ही काफी विस्तृत है, इसलिए मैं नहीं चाहता था कि हमारे ब्लॉग पोस्ट के लिए एक सेक्शन और हमारे नवीनतम प्रोजेक्ट्स के लिए एक सेक्शन बनाया जाए। मैं अपने टेम्प्लेट बिल्डर का उपयोग करके पोस्ट और प्रोजेक्ट दोनों को एक ही आउटपुट में मर्ज करना चाहता हूं, 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 फ़िल्टर आपको क्वेरी को अपडेट करने में सक्षम बनाता है और इसे आपकी पोस्ट और . दोनों प्राप्त करने के लिए सेट करता है परियोजना कस्टम पोस्ट प्रकार। बेशक, जब आप अपना कोड लिखते हैं तो आपको कस्टम पोस्ट प्रकारों को अपने वास्तविक नामकरण परंपरा में अपडेट करना होगा।

आपके फ़ीड में पोस्ट और कस्टम पोस्ट प्रकार मर्ज करना

मेरे पास साइट अपने फ़ीड के माध्यम से सोशल मीडिया पर स्वचालित रूप से प्रकाशित हो रही है ... इसलिए मैं भी आरएसएस फ़ीड सेट करने के लिए उसी क्वेरी का उपयोग करना चाहता था। ऐसा करने के लिए, मुझे बस एक OR कथन जोड़ना था और उसमें शामिल करना था 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 वास्तव में एक शानदार विशेषता है जहां आप अपनी साइट के भीतर एक क्वेरी को नाम और सहेज सकते हैं। इस मामले में, मैं समाचार-परियोजना नामक एक क्वेरी बना रहा हूं और फिर मैं इसे पोस्ट क्वेरी अनुभाग में एलीमेंटर यूजर इंटरफेस से कॉल कर सकता हूं।

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

यहां बताया गया है कि यह एलीमेंटर यूजर इंटरफेस में कैसा दिखता है:

एलिमेंट पोस्ट क्वेरी

प्रकटीकरण: मैं अपने का उपयोग कर रहा हूँ Elementor इस लेख में सहबद्ध लिंक।