Membuat metabox untuk mengunggah banyak gambar

8

Apakah mungkin membuat kotak meta yang melampirkan banyak gambar ke sebuah posting?

agileapricot
sumber
Ada tutorial lengkap untuk mengunggah beberapa gambar menambahkan meta-kotak ke posting, halaman atau jenis posting kustom di emenia.es/plugin-subir-imagenes-campo-personalizado-wordpress Ini dalam bahasa Spanyol, tapi saya bisa menjalankannya tanpa masalah .

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.

EAMann
sumber
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

Philip
sumber
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.

internetross
sumber
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);
Zack
sumber