get_post_types()
पोस्ट प्रकार के ऑब्जेक्ट के फ़ील्ड से मिलान करने के लिए तर्कों की एक सरणी को स्वीकार करता है । तो, आप ऐसा कुछ कर सकते हैं (परीक्षण नहीं):
$post_types = get_post_types(array(
'public' => true,
'supports' => array( 'editor', 'title', 'thumbnail' )
), 'objects');
दुर्भाग्य से, आप इस फ़ंक्शन में "बहिष्कृत" जैसे कुछ सेट नहीं कर सकते हैं, और आपको केवल पोस्ट प्रकार भी मिलते हैं जो बिल्कुल समर्थन करते हैं'editor', 'title', 'thumbnail'
, अधिक नहीं और कम नहीं।
या आप get_post_types_by_support()
(केवल WP 4.5 और अधिक के लिए) का उपयोग कर सकते हैं । इसके अलावा, ध्यान दें कि आप इस फ़ंक्शन के साथ विशिष्ट पोस्ट प्रकारों को बाहर नहीं कर सकते हैं, लेकिन समर्थन के विशिष्ट मामले के लिए editor, title, thumbnail
, अधिकांश मामलों में अनुलग्नक पोस्ट प्रकार को बाहर रखा जाएगा )।
$post_types = get_post_types_by_support( array( 'editor', 'title', 'thumbnail' ) );
यदि आप ऐसा कुछ चाहते हैं जो किसी भी मामले में काम करेगा, तो मैं पोस्ट के प्रकारों को व्यापक मानदंडों के आधार पर प्राप्त करने की कोशिश करूंगा, फिर अपनी खुद की सरणी बनाएं, इसके लिए कुछ:
$_post_types = get_post_types_by_support( array( 'editor', 'title', 'thumbnail' ) );
$post_types = [];
foreach($_post_types as $post_type) {
// In most cases, attachment post type won't be here, but it can be
if( $post_type->name !== 'attachment' ) {
$post_types[] = $post_type;
}
}