मैं ऐसा करने की सलाह दूंगा।
आपके पास डेटा की उत्पत्ति और उपयोगकर्ता के इरादे की जांच करने के लिए आपका खुद का नॉन होना चाहिए। यदि आपके पास मेटाबॉक्स के लिए सिर्फ एक ही नॉनस है - तो आप समस्याओं में भाग लेते हैं यदि उस मेटाबॉक्स को हटा दिया जाता है (छिपे हुए समान नहीं)। यदि हटाए गए दूसरे मेटाबॉक्स (या कम से कम) को कभी नहीं बचाना चाहिए क्योंकि गैर को लंबे समय तक भेजा जाता है।
निश्चित रूप से सुरक्षा के दृष्टिकोण से, एक दूसरे नॉनस द्वारा कुछ भी नहीं जोड़ा जाता है - जब तक आप कभी केवल एक मेटाबॉक्स को अपडेट करने की इच्छा नहीं करते हैं और दूसरे को नहीं: गैर-कार्रवाई के लिए अद्वितीय होना चाहिए ।
संपादित करें
जैसा कि बताया गया है कि पोस्ट एडिट स्क्रीन के लिए केवल एक फॉर्म है। तो, सिद्धांत रूप में, आपको केवल एक गैर-फ़ील्ड की आवश्यकता होती है जिसके साथ कार्रवाई और डेटा की उत्पत्ति को मान्य करना है। हालाँकि, जब से मेटाबॉक्स को हटाया जा सकता है - केवल एक मेटाबॉक्स में एक नॉन फील्ड होने से इस बात की कोई गारंटी नहीं है कि नॉनस वहाँ मौजूद रहेगा। प्रत्येक मेटाबॉक्स में एक नॉन फील्ड को रखकर आप जांच सकते हैं कि किसी मेटाबोक्स से डेटा भेजा गया है (और वास्तव में जहां से आपको लगता है कि वह है) किसी भी डेटा को संसाधित करने से पहले। उदाहरण के लिए:
save_post_call_back($post_id){
//Check this is not an auto-save route
if(nonce of metabox1 present and valid){
//Process data from metabox1
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
if(nonce of metabox2 present and valid){
//Process data from metabox2
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
}
नामनॉन फ़ील्ड मेटाबोक्स के लिए अद्वितीय होना चाहिए (और अन्य प्लग के रूप में मौजूद किसी भी अन्य नॉन के साथ टकराव नहीं होना चाहिए)।
गैर- मूल्य कार्रवाई के लिए अद्वितीय होना चाहिए (और इसमें आम तौर पर डेटा की उत्पत्ति शामिल होनी चाहिए (उदाहरण के लिए संपादित करें-पोस्ट त्वरित-संपादित के विपरीत)। मैं आम तौर पर पोस्ट आईडी भी शामिल करता हूं।
<form>
व्यवस्थापक पृष्ठ पर केवल एक टैग है। क्या नॉन फील्ड फॉर्म के लिए यूनिक होना चाहिए या नहीं? tia, @Stephen