इसका उत्तर देने के लिए, मैंने इस पर कुछ परीक्षण किए हैं, और परिणाम वास्तव में मन उड़ाने वाले थे।
यहाँ मेरी परीक्षा है
अपने आप को, एक परीक्षण पृष्ठ के साथ खुद को स्थापित करें। बस copy.php कॉपी करें, इसका नाम बदलें और लूप को हटा दें। अब बस बैक एंड में एक नया पेज बनाएं। प्रारंभ करने से पहले, किसी भी डेटा के बिना प्रश्नों की मात्रा प्राप्त करने के लिए पहले खाली जानकारी के साथ अपने टाइमर का परीक्षण करें
मैंने टेस्ट पोस्ट के लिए पूरी तरह से 5 मेटा फ़ील्ड बनाए हैं,
enclosure
,
First name
,
Last name
,
packages
तथा
post_views_count
मेरे टेस्ट पोस्ट की एक आईडी थी 530
। एक पोस्ट के अंदर आप बस पोस्ट आईडी का उपयोग $post->ID
या get_the_ID()
सेट कर सकते हैं
तो मेरा पहला परीक्षण इस प्रकार था:
<?php
timer_start();
$a = get_post_meta(530, 'enclosure', true);
$b = get_post_meta(530, 'First name', true);
$c = get_post_meta(530, 'Last name', true);
$d = get_post_meta(530, 'packages', true);
$e = get_post_meta(530, 'post_views_count', true);
?>
<p><?php echo get_num_queries(); ?> queries in <?php timer_stop(1, 5); ?> seconds. </p>
जिससे मुझे निम्नलिखित परिणाम मिले
0.00195 सेकंड में 1 प्रश्न।
मेरा दूसरा परीक्षण इस प्रकार था:
<?php
timer_start();
$a = get_post_meta(530);
?>
<p><?php echo get_num_queries(); ?> queries in <?php timer_stop(1, 5); ?> seconds. </p>
जो, आश्चर्यजनक रूप से एक ही परिणाम दिया
0.00195 सेकंड में 1 प्रश्न।
यदि आप स्रोत कोड को get_post_meta()
देखते हैं, तो आप देखेंगे कि get_post_meta()
बस के लिए एक आवरण है get_metadata()
। तो यह आप को देखने की जरूरत है स्रोत कोड के लिए get_metadata()
, आपको लगता है कि मेटाडाटा इसे साफ़ कर देखेंगे।
तो आपके प्रश्न पर किसके उपयोग के बारे में और प्रदर्शन के बारे में, इसका उत्तर होगा, यह आप पर निर्भर है। आपने परिणामों में प्रमाण देखा है
मेरी व्यक्तिगत राय में, यदि आपको 10 मेटा डेटा फ़ील्ड को पुनः प्राप्त करने की आवश्यकता है, (या मेरे मामले में 5), मेरे उत्तर में दूसरे दृष्टिकोण का उपयोग करें।
$a = get_post_meta(530);
यह न केवल लिखने के लिए तेज है, बल्कि आपको कोड भी नहीं दोहराना चाहिए। यहां ध्यान देने का एक और बिंदु, दूसरा दृष्टिकोण एक सरणी में सभी मेटा फ़ील्ड रखता है जिसे बहुत आसानी से एक्सेस और पुनर्प्राप्त किया जा सकता है
उदाहरण के रूप में, यहाँ से मेरा आउटपुट है $a
अगर मैं avar_dump( $a );
array(9) {
["_edit_lock"]=>
array(1) {
[0]=>
string(12) "1414838328:1"
}
["_edit_last"]=>
array(1) {
[0]=>
string(1) "1"
}
["_custom_sidebar_per_page"]=>
array(1) {
[0]=>
string(7) "default"
}
["post_views_count"]=>
array(1) {
[0]=>
string(1) "0"
}
["packages"]=>
array(1) {
[0]=>
string(1) "0"
}
["repeatable_names"]=>
array(1) {
[0]=>
string(79) "a:1:{i:0;a:3:{s:4:"role";s:4:"fool";s:4:"name";s:6:"Pieter";s:3:"url";s:0:"";}}"
}
["enclosure"]=>
array(1) {
[0]=>
string(105) "http://localhost/wordpress/wp-content/uploads/2014/09/Nissan-Navara-Tough-City.avi
13218974
video/avi
"
}
["First name"]=>
array(1) {
[0]=>
string(3) "Tom"
}
["Last name"]=>
array(1) {
[0]=>
string(5) "Storm"
}
}
अब आप अपनी पोस्ट में दिए गए किसी भी मेटा डेटा को इस प्रकार एक्सेस कर सकते हैं:
echo $a['First name'][0] . " " . $a['Last name'][0] . "<br>";
जो प्रदर्शित करेगा
टॉम तूफान