Im सोच रहा था कि क्या Wordpresses मेटा बॉक्स की डिफ़ॉल्ट स्थिति को बदलने का एक तरीका है जैसे कि कस्टम पोस्ट प्रकारों के लिए "चित्रित छवि" जैसे कि उन्हें मैन्युअल रूप से खींचे बिना?
उदाहरण:
Im सोच रहा था कि क्या Wordpresses मेटा बॉक्स की डिफ़ॉल्ट स्थिति को बदलने का एक तरीका है जैसे कि कस्टम पोस्ट प्रकारों के लिए "चित्रित छवि" जैसे कि उन्हें मैन्युअल रूप से खींचे बिना?
उदाहरण:
जवाबों:
आप डिफ़ॉल्ट मेटा बॉक्स को remove_meta_box से हटा सकते हैं और उन्हें add_meta_box के साथ एक अलग स्थिति में पुनः जोड़ सकते हैं:
add_action('do_meta_boxes', 'wpse33063_move_meta_box');
function wpse33063_move_meta_box(){
remove_meta_box( 'postimagediv', 'post', 'side' );
add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}
यह इसे साइड कॉलम से हटा देगा और मुख्य कॉलम में जोड़ देगा। post
आपके कस्टम पोस्ट प्रकार का नाम जो भी हो, इस उदाहरण में परिवर्तन करें।
add_meta_box()
किसी $callback
फ़ंक्शन नाम की आवश्यकता है , तो मुझे वर्डप्रेस द्वारा उपयोग किए जाने वाले फ़ंक्शन का नाम कैसे पता चलेगा? मान लीजिए कि अगर मैं वही काम करना चाहता हूं जो meta_box 'श्रेणियाँ' (#categorydiv) को साइडबार करता है?
/wp-admin/edit-form-advanced.php
और आप देखेंगे कि वर्डप्रेस सभी कोर मेटा बॉक्स और कॉलबैक और तर्कों का उपयोग करता है। श्रेणियों के लिए यह है post_categories_meta_box
।
मैंने इससे भी संघर्ष किया। मुझे वास्तव में लेआउट / ऑर्डर को फिर से परिभाषित करने का एक साफ तरीका नहीं मिला - विशेष रूप से चूंकि इसे उपयोगकर्ताओं द्वारा तब बदला जा सकता है जब वे बक्से को खींचते हैं।
मैं चीजों को 'वर्डप्रेस' के साथ करना पसंद करता हूं (यह आमतौर पर भुगतान करता है), इसके साथ टकराव की तुलना में रिथे और जिस तरह से वर्डप्रेस करता है वह इस प्रकार है:
वर्डप्रेस प्रति स्क्रीन प्रति उपयोगकर्ता के खींचे गए पदों को संग्रहीत करता है और उपयोगकर्ता-मेटा कुंजियों का एक पूरा गुच्छा होता है, जिसका उपयोग वह उस पृष्ठ / स्क्रीन के आधार पर करता है।
इसलिए आप प्रत्येक नए उपयोगकर्ता के लिए एक क्रिया या फ़िल्टर जोड़ सकते हैं, जिससे उपयोगकर्ता तय कर सके कि आप किस तरह से डिफ़ॉल्ट होना चाहते हैं।
1) जिस पेज को आप प्रभावित करना चाहते हैं उसे खींचें और व्यवस्थित करें, 2) अपनी आईडी के लिए अपने यूजर-मेटा में phpmyadmin में देखें और देखें कि वहां क्या wp संग्रहीत किया गया है। 3) फिर नई उपयोगकर्ता कार्रवाई को इस प्रकार कोडित करें यदि किसी उपयोगकर्ता के पास पहले से सेट (व्यक्तिगत पसंद से बचने के लिए) सेटिंग नहीं है, तो आप इसे अपने इच्छित तरीके से सेट कर सकते हैं - मान के साथ आप इसे मैन्युअल रूप से सेट कर सकते हैं।
आपके द्वारा खोजे जा रहे उपयोगकर्ता-मेटा मेटा के विचार प्राप्त करने के लिए, ये स्क्रीनशॉट देखें: http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/
(मैंने एक जेनेरिक प्लगइन लिखना शुरू किया, ताकि मैं सभी प्रकार के पृष्ठों / स्क्रीन के लिए सभी उपयोगकर्ताओं के लिए मेरे पसंदीदा लेआउट को परिभाषित कर सकूं। फिर वे इसे बदल सकते थे, जैसे कि वे अधिक कुशल हो गए। इसके अलावा यह तब नहीं टूटेगा जब wp बदल जाएगा। मेरे द्वारा प्लगइन के रूप में चीजें बस टेम्पलेट उपयोगकर्ता मूल्यों को प्राप्त करती हैं, यह मूल्य को हार्डकोड किए गए मान पर सेट करने का प्रयास भी नहीं करता है।)
यदि आप अपने मेटा बॉक्स को ठीक क्रम देना चाहते हैं, तो आप इस प्लगइन का उपयोग कर सकते हैं: https://wordpress.org/plugins/post-meta-box-order/
यह उपयोगकर्ता विकल्प के मेटा-बॉक्स- order_post (टेबल wp_usermeta) पर खेलता है।
नोट 1: इस तकनीक को झंडे के अंत को बदलकर किसी भी कस्टम CPT पर लागू किया जा सकता है: मेटा-बॉक्स-ऑर्डर_ [YourCCPT]
नोट 2: सभी मौजूदा उपयोगकर्ताओं के लिए अपने नए आदेश को लागू करने के लिए प्लगइन के कोड में हैश को बदलना न भूलें।