Saya membuat situs web bisbol dengan banyak Penulis. Dari pengalaman masa lalu, tidak peduli seberapa baik Anda mengenal seseorang secara pribadi, itu tidak berarti mereka akan mengikuti atau bahkan membaca instruksi Anda.
Oleh karena itu, saya ingin meminta agar gambar apa pun yang diputuskan oleh Penulis untuk "Gunakan sebagai gambar unggulan" minimal memiliki lebar 640px dan tinggi minimum 360px.
Saya mengharuskan setiap posting memiliki Gambar Pilihan menggunakan plugin WyPiekacz ; posting tidak akan dipublikasikan tanpa Gambar Unggulan. Saya telah memblokir kemampuan seorang Penulis untuk melakukan hotlink ke situs lain dengan menghapus tab "Dari URL" di Add Media menggunakan kode Bainternet.
Sekarang saya perlu meminta gambar apa pun yang digunakan sebagai gambar unggulan setidaknya 640px x 360px. Saya tidak berarti seorang pembuat kode, tetapi saya telah bermain-main dengan dan mencoba menggunakan kode Maor Barazany sebagai titik awal, tetapi tidak berhasil. Kode-nya memaksa dimensi minimum untuk gambar apa pun yang diunggah .
sumber
Jawaban:
baik jika Anda menggunakan plugin WyPiekacz; seperti yang Anda katakan untuk memeriksa bahwa gambar yang ditampilkan diunggah, Anda dapat mengubah sedikit untuk memeriksa bahwa jika ada gambar yang ditampilkan, itu memiliki dimensi minimum seperti yang Anda inginkan.
Anda dapat mengubah kode di atas di wypiekacz.php menjadi,
baik saya tidak mengerti apa yang Anda maksud dengan "Media Library Tab".
sumber
list($url, $width, $height) = wp_get_attachment_image_src($post_id, 'full');
diubah menjadilist($url, $width, $height) = wp_get_attachment_image_src(get_post_thumbnail_id( $post->ID ), "Full"); echo $imgsrc[0];
untuk memeriksa dimensi hanya Gambar Unggulan, dan tidak semua gambar terlampir.Saya memeriksa intinya dan ternyata ada sedikit ruang untuk bermanuver.
/wp-admin/includes/media.php adalah tempat tab Add Media dibuat
Fungsi get_media_item pada baris 1034 adalah fungsi yang menjadikan tabel lampiran / media. Saya tidak dapat melihat filter yang tersedia di dalamnya atau fungsi-fungsi sebelumnya yang memanggil yang ini.
Beberapa referensi dan contoh kode seputar masalah ini.
Saya kira solusi alternatifnya adalah mengubah judul gambar yang diunggah dan menambahkan dimensinya. Saya tidak yakin tentang mengubah post_title dari file yang diunggah, tetapi mengubah nama file itu sendiri dapat dicapai dengan dua filter ini: sanitize_file_name dan wp_handle_upload_prefilter
sumber
Bukan jawaban yang lengkap dan bukan untuk hadiah, hanya bukti bahwa konsep dasar bekerja:
Hanya 60secondsSnippet dan memiliki satu masalah besar: Ini akan diaktifkan untuk setiap unggahan, dan tidak hanya jika seseorang mau menambahkan gambar unggulan, karena kami tidak punya cara untuk mendapatkan konteks pengunggah gambar. Ada beberapa cara untuk mengatasinya, pada dasarnya dengan beberapa manipulasi js.
Saya harus bekerja sekarang, dan tidak punya waktu untuk bereksperimen dengannya. Tetapi saya ingin membantu sebanyak mungkin, dan mungkin ini adalah titik awal bagi orang lain.
Bersulang
sumber
Ini bukan jawaban yang paling elegan ... tetapi berhasil! Plugin 'WyPiekacz', meskipun keren, belum diperbarui dalam tiga tahun.
Solusi paling elegan dengan pengalaman pengguna terbaik akan menggunakan JavaScript untuk menangani ini baik untuk Edit Cepat dan halaman edit posting. Maka untuk keberuntungan saya akan menambahkan sesuatu ke
update_post_metadata
filter (yang benar-benar berfungsi untuk mencegah gambar yang ditampilkan tetapi tidak akan memberikan peringatan karena dijalankan dengan AJAX).Pemberitahuan admin tidak akan muncul karena WordPress mengarahkan ulang, dan bahkan kemudian tidak akan muncul di Edit Cepat (metode saya tidak menampilkan peringatan pada Edit Cepat meskipun tidak ditata).
sumber
Berikut adalah salah satu cara untuk memastikan ada thumbnail berukuran tepat sebelum menampilkannya.
Pertama, buat fungsi pembantu ini:
Maka sekarang Anda dapat memeriksa sebelum menampilkan thumbnail posting:
sumber
Ini akan melakukan apa yang dibutuhkan :)
Ini menggunakan get_the_post_thumbnail yang juga dapat membantu Anda sehingga Anda tidak perlu membuat banyak kode fn yang WordPress sudah bisa tangani untuk Anda, hanya sebuah pemikiran.
Ini digunakan
$thumbnails = get_posts(array('numberposts'=>1,'orderby'=>'rand','meta_key' => '_thumbnail_id'));
untuk mengambil yang acak jika tidak ada, ini dapat membantu Anda bergerak maju.echo get_the_post_thumbnail($thumbnail->ID, 'small-thumb', array( 'alt' => esc_attr( $post->post_title ), 'title' => esc_attr( $post->post_title ) ));
Pemberitahuan ini sedikit'small-thumb'
dicocokkan dengan add_image_size fn kita mengumpulkan beberapa baris. Jadi, jika Anda punya,add_image_size( 'small-square', 100, 100, true );
Anda bisa menelepon'small-square'
alternatif.Bersulang
sumber