वर्डप्रेस मीडिया अपलोडर को अतिरिक्त फ़ील्ड कैसे जोड़ें

वर्डप्रेस मीडिया अपलोडर को अतिरिक्त फ़ील्ड कैसे जोड़ें

एक प्रोजेक्ट पर काम करते हुए हमने वर्डप्रेस अटैचमेंट और कस्टम पोस्ट प्रकार से पूरी तरह से संचालित एक बहुत ही शांत गैलरी बनाई है, हमें वर्डप्रेस मीडिया अपलोडर को अतिरिक्त फ़ील्ड जोड़ने की ज़रूरत है। इन अतिरिक्त क्षेत्रों ने हमें फोटोग्राफर का नाम जोड़कर और प्रत्येक छवि पृष्ठ पर उनके यूआरएल को प्रत्येक फोटोग्राफर क्रेडिट देने की इजाजत दी। वर्डप्रेस एंबेन्टमेंट पोस्ट प्रकार में पोस्ट के रूप में छवियों को स्टोर करता है, इसलिए मेटा डेटा जोड़ने से कस्टम फ़ील्ड जोड़ना ठीक है क्योंकि वर्डप्रेस अटैचमेंट में कस्टम फिल्ड UI नहीं है, इसलिए मेटा डेटा एकत्र करने के लिए हमें मीडिया अपलोडर को कस्टम फ़ील्ड जोड़ना होगा। इस लेख में, हम आपको दिखाएंगे कि वर्डप्रेस मीडिया अपलोडर को अतिरिक्त फ़ील्ड कैसे जोड़ना है।

हम परिवर्तन करने के लिए निम्न फिल्टर का प्रयोग करेंगे: attachment_fields_to_edit तथा attachment_fields_to_save

इस तरह से एक परियोजना के लिए, हम अत्यधिक अनुशंसा करते हैं कि आप एक साइट-विशिष्ट प्लगिन बनाएं और निम्नलिखित कोड जोड़ें। हालांकि, आप इसे काम करने के लिए अभी भी अपने विषय के functions.php फ़ाइल में कोड जोड़ सकते हैं।

/ **
  * मीडिया अपलोडर के लिए फोटोग्राफर का नाम और URL फ़ील्ड जोड़ें
  *
  * @ पाराम $ form_fields सरणी, फ़ील्ड को अटैचमेंट फ़ॉर्म में शामिल करने के लिए
  * @ परम $ पोस्ट ऑब्जेक्ट, डेटाबेस में लगाव रिकॉर्ड
  * @ परतन $ form_fields, संशोधित फ़ॉर्म फ़ील्ड
  * /
 
 फ़ंक्शन be_attachment_field_credit ($ form_fields, $ post) {
 $ form_fields ['be-photographer-name'] = सरणी (
 'label' => 'फोटोग्राफर नाम',
 'इनपुट' => 'पाठ',
 'मान' => get_post_meta ($ post-> आईडी, 'be_photographer_name', सच है),
 'मदद करता है' => 'यदि प्रदान किया गया है, फोटो क्रेडिट प्रदर्शित किया जाएगा',
 );

 $ form_fields ['be-photographer-url'] = सरणी (
 'label' => 'फोटोग्राफर यूआरएल',
 'इनपुट' => 'पाठ',
 'value' => get_post_meta ($ post-> आईडी, 'be_photographer_url', सच है),
 'मदद करता है' => 'फोटोग्राफर यूआरएल जोड़ें',
 );

 $ form_fields वापसी;
 }

 add_filter ('attachment_fields_to_edit', 'be_attachment_field_credit', 10, 2);

 / **
  * मीडिया अपलोडर में फोटोग्राफर का नाम और यूआरएल सहेजें
  *
  * @ परम $ पोस्ट एरे, डाटाबेस के लिए पोस्ट डेटा
  * @ परम $ संलग्नक सरणी, $ _POST रूप से लगाव फ़ील्ड
  * @ रेटन पोस्ट ऍरे, संशोधित पोस्ट डेटा
  * /

 फ़ंक्शन be_attachment_field_credit_save ($ पोस्ट, $ अनुलग्नक) {
 अगर (एज़ेट ($ अनुलग्नक ['हो फोटोग्राफर-नाम'])
 update_post_meta ($ पोस्ट ['आईडी'], 'बी_फोटोग्राफर_नाम', $ अटैचमेंट ['बी-फ़ोटोग्राफ़र-नेम']);

 यदि (एज़ेट ($ अनुलग्नक ['बी-फोटोग्राफर-यूआरएल'])
 update_post_meta ($ पोस्ट ['आईडी'], 'बी_फोटोोग्राफर_अर्नल', एस्के_यूआरएल ($ अटैचमेंट ['बी-फोटोग्राफर-यूआरएल']));

 वापसी $ पोस्ट;
 }

 add_filter ('attachment_fields_to_save', 'be_attachment_field_credit_save', 10, 2);
 ?> 

उपर्युक्त कोड दो पाठ क्षेत्रों को मीडिया अपलोडर को जोड़ देगा, जिसे फोटोग्राफर नाम और फोटोग्राफर यूआरएल कहते हैं। आप नीचे दिए गए स्क्रीनशॉट में देख सकते हैं:

मीडिया अपलोडर में अतिरिक्त फ़ील्ड

कोड की व्याख्या: पहले फ़ंक्शन में, हम फ़ील्ड के लेबल, इनपुट प्रकार, मान, और सहायता टेक्स्ट को निर्दिष्ट करने के लिए बस एक सरणी का उपयोग कर रहे हैं। दूसरा फ़ंक्शन यह देखने के लिए जांच रहा है कि क्या उन फ़ील्ड के लिए कोई मान सेट है या नहीं। अगर मान सेट होता है, तो पोस्ट मेटाडेटा अपडेट हो जाता है।

यदि आप अपने अनुलग्नकों के टेम्प्लेट में फ़ील्ड प्रदर्शित करना चाहते हैं, तो बस निम्न कोड को पाश में चिपकाएं:

गूंज get_post_meta ($ post-> आईडी, 'be_photographer_url', सच है); 

यदि आप अपने विशेष रुप से चित्र के लिए फ़ील्ड अपने संग्रह टेम्पलेट या किसी अन्य टेम्पलेट में प्रदर्शित करना चाहते हैं, तो बस का उपयोग करें:

गूंज get_post_meta (get_post_thumbnail_id (), 'be_photographer_url', सच है); 

हम आशा करते हैं कि आप इस लेख का आनंद उठाया। जिन लोगों को पता नहीं है कि अनुलग्नक के टेम्पलेट को कैसे तैयार किया जाए, चिंता न करें। अगले लेख में, हम वर्डप्रेस में अनुलग्नक के टेम्पलेट को कैसे तैयार करेंगे।

यह कैसे करने के लिए हमें दिखाने के लिए बिल एरिकसन के लिए हैट टिप