पृष्ठ में कस्टम फ़ील्ड का मान कैसे प्रदर्शित करें


17

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

विधि मैं उपयोग कर रहा हूँ यह है:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

यहाँ पृष्ठ के लिए एक कड़ी है।

<hr/>पृष्ठ पर नीचे बनाई गई सभी मेटा की एक सूची है। केवल एक फ़ील्ड जो प्रदर्शित करेगा वह कुछ अजीब कारण के लिए 'कीमत' है।

किसी को भी मुझे पता है कि मैं क्या याद कर रहा हूँ?


यह वास्तव में get_post_meta()फ़ंक्शन है, और यदि आप इसे लूप के अंदर बुला रहे हैं, तो यह काम करना चाहिए ... जब तक आप सही कस्टम फ़ील्ड नाम का उपयोग नहीं कर रहे हैं। वे अक्सर उपसर्ग के साथ आते हैं यदि वे मेटा-बॉक्स जैसे प्लगइन के माध्यम से कार्यान्वित होते हैं। क्या आप कोड पोस्ट कर सकते हैं कि आप अपने कस्टम फ़ील्ड कैसे घोषित करते हैं? PhpMyAdmin में wp_postmeta तालिका खोलने और meta_keyLIKE% ...% के लिए कॉलम खोजने के लिए एक समाधान होगा और "उपशीर्षक" को meta_key मान के रूप में निर्दिष्ट करें। आप देखेंगे कि वर्डप्रेस आपके कस्टम फ़ील्ड को किस नाम से संग्रहीत कर रहा है।
pixeline

मुझे पता है कि यह पुराना है, लेकिन मैं phpmyadmin में सभी मेटा फ़ील्ड्स की सूची प्राप्त करने के लिए इस sql का उपयोग करता हूं: SEL m.meta_key FROM wp_postmeta m GROUP BY m.meta_key
saltaltman

जवाबों:


17

ठीक है, आप उपयोग कर रहे हैं:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

तो, आप Wordpress को 'सबटाइटल' फ़ील्ड का मेटा मान प्राप्त करने के लिए कह रहे हैं और यह कि लौटाया गया मूल्य स्ट्रिंग के प्रारूप में है। Get_post_meta () डीआईआर देखें ।

पोस्ट के सभी मेटा डेटा प्राप्त करने के लिए आपको get_post_custom () फ़ंक्शन का उपयोग करना चाहिए । उदाहरण के लिए, यदि आप लूप के अंदर हैं:

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

इससे पोस्ट के सभी मेटा डेटा वापस आ जाएंगे। यदि आप जांच करना चाहते हैं, उदाहरण के लिए, "मूल्य" मेटा फ़ील्ड:

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'][0];
}

अंतिम कोड ब्लॉक गायब है)
कार्बाइड 20

1
यह प्रतीत होता है कि $custom['price']रिटर्न एक सरणी तो तुम क्या करने की आवश्यकता हो सकती है$custom['price'][0]
वाल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.