Özel alanlarla bir yayını (özel yayın türü) programlı olarak yayınlama


17

Birçok özel alan içeren özel bir yazı türüm 'Katılımcı' var. Ayrıca kullanıcı doldurmak için karşılık gelen giriş alanları ile bir form var. Formu gönderdiğinde, kullanıcı tarafından seçilen değeri içeren her özel alanla yeni bir yazı oluşturulmasını istiyorum.

Bunu yapmak mümkün mü ve eğer öyleyse, nasıl?

Yanıtlar:


29

Kullanım wp_insert_post () ve add_post_meta () bu gibi:

// insert the post and set the category
$post_id = wp_insert_post(array (
    'post_type' => 'your_post_type',
    'post_title' => $your_title,
    'post_content' => $your_content,
    'post_status' => 'publish',
    'comment_status' => 'closed',   // if you prefer
    'ping_status' => 'closed',      // if you prefer
));

if ($post_id) {
    // insert post meta
    add_post_meta($post_id, '_your_custom_1', $custom1);
    add_post_meta($post_id, '_your_custom_2', $custom2);
    add_post_meta($post_id, '_your_custom_3', $custom3);
}

WordPress 4.4.2'de bile cazibe olarak çalışır :)!
jave.web

günümüzde, wp_insert_post'taki meta_input anahtarı ile meta dosya ekleyebilirsiniz: 'meta_input' => ['_your_custom_1' => $custom1, '_your_custom_2' => custom2]
Andreas

İyi bir nokta @Andreas, bunu yeni bir cevap olarak eklemenizi ve oy kullanmaya başlamasına izin vermenizi öneririm. Şimdi cevap olmalı.
webaware

Thx @webaware :) Instagram Hesabındaki Takipçileri
Andreas

WordPress 5.1'de bile cazibe olarak çalışır :)!
Ben En Aptal

6

Buna ek olarak Yukarıdaki @webaware'in harika cevabına , bu wordpress 4.4.0'dan beri tüm wp_insert_post çağrısı ile ele alınabilir :

$post_id = wp_insert_post(array (
    'post_content' => $content,
    'post_title' => $title,
    'post_type' => 'your_custom_post_type',
    'post_status' => 'publish',

    // some simple key / value array
    'meta_input' => array(
        'your_custom_key1' => 'your_custom_value1',
        'your_custom_key2' => 'your_custom_value2'
        // and so on ;)
    )
));

if ($post_id) {
    // it worked :)
}

4

Bu, Gravity Forms eklentisi . Arka uçta bir Özel Gönderi Türü dolduran bir form oluşturabilirsiniz. Bu yayın taslak veya yayınlanmış olarak görünecek şekilde ayarlanabilir. Özel alan ekleme sorunu yok. Benim durumumda, müşteri referanslarını toplamak için kullandım.


Bu çözümü beğendim, özellikle de formu kendileri yönetmek isteyen bir müşteriye teslim ediyorsanız.
webaware
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.