Membuat metabox untuk mengunggah banyak gambar


Jawaban:


7

Itu sepenuhnya tergantung pada apa yang Anda maksud dengan "melampirkan."

Setiap posting WordPress sudah dapat memiliki beberapa lampiran media - foto, dokumen, dll. Anda mengunggahnya menggunakan pengunggah bawaan dan semuanya akan ditandai sebagai "terlampir" pada ID posting tertentu.

Anda dapat merujuk ini nanti secara terprogram di tempat lain. Misalnya, kode berikut akan mencantumkan semua lampiran untuk pos tertentu (kode dari Snipplr ) :

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

Semua fungsi ini dapat diakses melalui tombol "Tambah Media" default di ujung kanan "Unggah / Sisipkan" pada layar posting baru. Setelah Anda menambahkan satu gambar, Anda dapat mengklik "Pilih File" lagi dan mengunggah gambar kedua. Lalu yang ketiga. Lalu yang keempat. Sebanyak yang Anda inginkan.

Masing-masing gambar ini akan "dilampirkan" ke posting ... bahkan jika mereka tidak dimasukkan ke dalam konten.


Untuk beberapa alasan aneh saya hanya bisa mendapatkan kode itu untuk menampilkan lampiran pertama dalam templat, meskipun yang lain terlampir. Ada ide? Ini kodenya ... dl.dropbox.com/u/497583/code/wp-attactments.txt
agileapricot

Anda perlu menggunakan beberapa variabel berbeda. Anda menggunakan keduanya $postdan $argssetidaknya dalam dua konteks yang berbeda, yang membuatnya sangat sulit untuk mengetahui dengan tepat apa yang Anda coba lakukan pada satu waktu. Tapi saya memang menguji kode yang saya posting di atas dan itu berhasil ...
EAMann

6

Berikut ini adalah tutorial lengkap dengan file sumber yang melakukan apa yang Anda inginkan,
Anda dapat mengunggah multi gambar dengan mengkloning bidang input dan juga Anda dapat melihat pratinjau, menghapus gambar dengan ajax, menambahkan multi metabox ke banyak / berbagai jenis posting dan banyak lagi.

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html


Saya yang kedua ini. Itu bekerja seperti pesona.
Manny Fleurmond

Meskipun tautan yang Anda berikan sekarang sudah mati, proyek dalam referensi telah berubah menjadi plugin / perpustakaan yang ramah pengembang sepenuhnya. Lihat: wordpress.org/plugins/meta-box dan github.com/wpmetabox ... Sepertinya produk yang hebat.
Kerry Randolph

2

Saya juga merekomendasikan untuk memeriksa http://www.wpalchemy.com . WPAlchemy adalah "kelas" kick ass (dekat dengan plugin) untuk dengan mudah menambahkan kotak meta khusus ke situs Anda. Saya menggunakannya secara luas dan telah terkesan oleh kemudahan penggunaan dan komitmen dari pengembang dan komunitas yang sedang berkembang.


0

Ya itu sangat mungkin. Lihat respons yang saya dapatkan tentang metabox. Pada dasarnya, Anda hanya ingin menambahkan kail untuk save_postdan memverifikasi bidang nonce.

function my_save_post_callback( $post_id, $post )
{
    if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
    {
        return $post->ID;
    }

    // Handle the upload here

}
add_action( 'save_post', 'my_save_post_callback', 1, 2);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.