पोस्टमेटा में एक मेटाके साथ एक सरणी को कैसे बचाया जाए?


17

मेरे पास पोस्टमाता में सहेजे गए एक सरणी है, प्रत्येक सरणी कुंजी एक मेटाकी बन जाती है। मैं एक मेटाके साथ पूरे सरणी को बचाने के लिए कोड बदलना चाहता हूं। उसको कैसे करे? धन्यवाद!

$poddata = Array(
'pod_id' => $this->pod_id,
'url' => $this->url,
'name' => $this->name,
'description' => $this->description,
'service' => $this->service,
'status' =>$this->status,
'price' => $this->price
);

foreach ( $poddata as $k => $v ){

if ( get_post_meta( $this->id, $k ) == '' )
add_post_meta( $this->id, $meta_box, $v, true );

elseif ( $v != get_post_meta( $this->id, $k, true ) )
update_post_meta( $this->id, $k, $v );

elseif ( $v == '' )
delete_post_meta( $this->id, $k, get_post_meta( $this->id, $k, true ) );

}

जवाबों:


25

आपको मूल्यों के माध्यम से लूप करने की आवश्यकता नहीं है। बस उपयोग update_post_meta($post_ID, {key}, {array of vals}), यह करना चाहिए!

<?php
$poddata = Array(
    'pod_id' => $this->pod_id,
    'url' => $this->url,
    'name' => $this->name,
    'description' => $this->description,
    'service' => $this->service,
    'status' =>$this->status,
    'price' => $this->price
    );

//Update inserts a new entry if it doesn't exist, updates otherwise
update_post_meta($post_ID, 'poddata', $poddata);
?>

बस! जब आप इसे उपयोग के लिए लाएं, तो निम्न कार्य करें:

    $poddata = get_post_meta($post_ID, 'poddata');

$ poddata मूल्यों की सरणी है।


मैंने update_post_meta ($ post_ID, 'poddata', $ postdata) की कोशिश की, पोस्ट को सहेजने के बाद, मुझे लगता है कि मेटा सहेजा नहीं गया है।
जेनी

ओह, क्षमा करें, यह सहेजा गया, मैंने इसे WP कस्टम फील्ड्स टेबल पर नहीं देखा। मैं अभी इसे phpAdmin में पाया। धन्यवाद!
जेनी

जब डेटा को पुनः प्राप्त करें, get_post_meta ($ post_ID, 'poddata') द्वारा; मुझे var_dump से सरणी (0) मिलती है। मैं संपूर्ण सरणी कैसे प्राप्त कर सकता हूं?
जेनी

आपका स्वागत है! Print_r () ... echo "<pre>" का उपयोग करने का प्रयास करें; print_r ($ poddata); इको "</ pre>";
रुटविक गांगुर्ड

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