Wp_insert_post () के लिए "मेटा_इनपुट" पैरामीटर क्या है?


10

मैं फ़ंक्शन wp_insert_post () का उपयोग करके वर्डप्रेस में कुछ पोस्ट सम्मिलित कर रहा हूं ।

मैं प्रत्येक पोस्ट पर कुछ कस्टम फ़ील्ड सम्मिलित करना चाहता हूं और दस्तावेज़ीकरण पढ़ रहा हूं, हालांकि उसके लिए meta_info पैरामीटर का उपयोग किया गया था, मैंने इसके लिए कुछ कोशिश की:

$data = array(
        'post_author' => 1,
        'post_status' => 'publish',
        'post_title' => $post->getTitle(),
        'post_content' => $post->getContent(),
        'post_category' => $post->getCategory(),
        'tags_input' => $post->getTags(),
        'meta_input' => array( "_test" => "testx1" )
);

$postID = wp_insert_post( $data );

पोस्ट सही तरीके से डाली गई और टैग भी। लेकिन कोई कस्टम फ़ील्ड नहीं जोड़े गए हैं। मुझे पता है कि मैं उन्हें जोड़ने के लिए add_post_meta () का उपयोग कर सकता हूं, लेकिन मैं अभी भी यह जानना चाहूंगा कि meta_input पैरामीटर का उपयोग किस लिए किया जाता है, क्योंकि मैंने पोस्ट डालने के बाद "testx1" के लिए डेटाबेस पर खोज की और कोई परिणाम नहीं मिला।

जवाबों:


7

यह भाग wp_insert_posts()इसे दूर करता है:

  if ( ! empty( $postarr['meta_input'] ) ) {
        foreach ( $postarr['meta_input'] as $field => $value ) {
            update_post_meta( $post_ID, $field, $value );
        }
  } 

जहां हम देखते हैं कि पोस्ट मेटा फ़ील्ड कैसे अपडेट / जोड़े जाते हैं update_post_meta()

इसके लिए इनलाइन विवरण यहां दिया गया है meta_input:

पोस्ट मेटा मानों की सरणी उनकी पोस्ट मेटा कुंजी द्वारा की गई। डिफ़ॉल्ट खाली।

यह वर्डप्रेस 4.4 में जोड़ा गया था और अधिक जानकारी के लिए यहां प्रासंगिक टिकट # 20451 है

ध्यान दें कि मेटा कुंजी के सामने अंडरस्कोर का उपयोग करके _testइसे पोस्ट एडिट स्क्रीन में कस्टम फ़ील्ड मेटाबॉक्‍स से छिपाया जाएगा ।


ओह, पर wp im परीक्षण 4.3 है, बहुत बहुत धन्यवाद।
स्ट्रेएल

0

जिस तरह से मैं यह कर रहा हूँ, यह शब्द के माध्यम से है_ सुस्त नहीं है और यह काम करता है:

//insert Art items into database
$arr = array('item 1', 'item 2');
// $arr = array('art item 1', 'art item 2');

foreach ($arr as $a) { 
    wp_insert_post(array(
    //essentials
    //'ID'      => 1131,
    'post_author'       => 1,
    'post_title'        => $a,
    'post_type'         => 'post',
    'post_content'      => 'Something...',
    'post_status'       => 'publish',
    'post_name'         => 'post name',
    'meta_input'        => array( //(array) Array of post meta values keyed by their post meta key. Default empty.
        'city'     => '',// 'name' => $post['name']
        'country'  => ''// 'city' => $post['city']
    ),
    'tax_input'    => array(
        'category' => array(33,32), //id numbers work, slugs tend to be ignored !!!
        'post_tag' => array('one', 'two') //for tags slugs seem to work
    ),//(array) Array of taxonomy terms keyed by their taxonomy name. Default empty. Equivalent to calling wp_set_post_terms() / wp_set_object_terms()
    //'tags_input'  => array('una', 'trei'), //(array) Array of tag names, slugs, or IDs. Default empty. Equivalent to calling wp_set_post_tags().
    ), true);   
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.