Peristiwa langka - saya ingin melakukan sesuatu di WordPress tetapi tidak tahu bagaimana cara melakukannya dan mencari ternyata tidak ada.
Saat Anda memasukkan gambar ke dalam posting, Anda mendapatkan opsi penyelarasan: 'tidak ada', 'kiri', 'kanan', 'tengah'. Ini menghasilkan gambar yang dimasukkan dengan kelas CSS yang terkait dengan perataan, seperti 'alignleft', 'alignright' atau 'aligncenter'.
Bagus.
Bagaimana jika tema saya sedikit lebih kompleks dan saya ingin menambahkan beberapa opsi di sini yang, seperti opsi inti, hanya akan menambahkan kelas CSS baru ke gambar yang dimasukkan? Misalnya - opsi 'margin kanan' yang bisa saya gaya dengan beberapa CSS mewah untuk mendapatkan beberapa tata letak yang lebih kompleks?
Adakah petunjuk di mana saya bisa mulai?
Jawaban:
Saya setuju dengan david-binda - pertanyaan bagus! Saya telah mengalami masalah ini pada beberapa kesempatan dan menghasilkan solusi yang bekerja cukup baik. Walaupun saya menyukai gagasan untuk menambahkan kode pendek untuk menyisipkan gambar dengan kelas-kelas seperti yang disarankan oleh pavlos-bizimis, saya tidak berpikir itu benar-benar menyelesaikan masalah dengan elegan seperti menambahkan opsi ke popup edit gambar (misalnya Anda mungkin harus bungkus gambar dalam kode pendek Anda kecuali Anda lebih suka memasukkan ID gambar secara manual). Juga, untuk beberapa klien saya bahkan kode pendek terlalu rumit (dalam hal ini Anda dapat mengikatnya ke tombol TinyMCE tentunya).
Lagi pula,
tanpabasa-basi lagi - inilah lima sen saya. Saya menggunakan solusi ini dalam plugin tayangan slide yang memberi saya opsi untuk memasukkan / mengecualikan gambar dari tayangan slide dan mengatur warna latar belakang untuk tampilan yang menampilkan konten beberapa bidang meta gambar. Pada dasarnya itu menghubungkan keattachment_fields_to_edit
danattachment_fields_to_save
untuk menambahkan bidang input dan menyimpan data formulir masing-masing. Data ini akan tersedia sebagai meta posting standar untuk posting lampiran (yaitu gambar yang Anda edit). Ini bagus karena mudah diambil menggunakanget_post_meta()
seperti biasa. Dan Anda juga harus menambahkan filterwp_get_attachment_image_attributes
atauimage_send_to_editor
yang akan memungkinkan Anda untuk menambahkan kelas yang sesuai secara otomatis setiap kali gambar di-output.Saya telah memodifikasi kode sedikit agar mudah dibaca, jadi beberapa bagian mungkin tidak lengkap / salah.
UPDATE : Saya baru saja menyalin kode ini untuk menggunakannya sebagai boilerplate dalam proyek yang sedang saya kerjakan. Seperti yang Anda mungkin tahu dari melihat kode saya ingin menyimpan kunci meta posting saya dalam konstanta yang ditentukan. Ketika saya melakukan ini, saya selalu menambahkan nilai
_
untuk mencegahnya muncul di editor bidang meta, tetapi praktik ini dapat menyebabkan beberapa masalah denganattachment_fields_to_save
. Kunci dalam$form_fields
larik tidak dapat dimulai_
, jadi berhati-hatilah untuk menggunakan kunci yang berbeda untuk larik dan nilai meta atau pangkas garis bawah saat berurusan dengan bidang lampiran. KarenaSLIDESHOW_EXCLUDE_IMAGE_KEY
bahkan tidak didefinisikan dalam contoh saya ini mungkin bukan masalah besar ketika menyalin kode, tapi saya pikir saya akan tetap menyebutkannya. Butuh beberapa saat untuk memikirkan hal ini (dan untuk kedua kalinya, pada saat itu).sumber
Pertanyaan bagus. Dan pertanyaan ini telah mendapatkan solusinya. Mungkin kode di bawah ini terlalu panjang, tetapi tidak bisa lebih pendek. Intinya adalah bahwa Anda dapat menghapus kait wp_footer dan wp_admin_footer untuk fungsi wp_print_media_templates dan menggantinya dengan fungsi wp_print_media_templates Anda sendiri dengan opsi kustom. Cukup dengan menempatkan kode di bawah ini ke functions.php Anda akan menimpa fungsi orginial dan memungkinkan Anda untuk memodifikasi kelas setelah baris dengan komentar HTML <! - SETUP KELAS ANDA DI SINI -> Kelas dimasukkan ke dalam shortcode galeri dengan cara ini:
nilai yang ditetapkan sebagai MyClass1 menghasilkan alignMyClass1.
Jika Anda ingin mengatur kelas tanpa awalan "luruskan", Anda harus memodifikasi javascript menyisipkan kode pendek ke dalam konten teks posting dan mungkin terlalu rumit dibandingkan dengan mengganti nama kelas Anda di CSS. Enyoj!
sumber
Mungkin Anda harus membuat kode pendek untuk menyisipkan gambar dengan atribut kelas. Saya sudah melihat ini di banyak tema komersial.
sumber
Anda dapat menggunakan ID gambar unik untuk mendesain gambar tertentu secara individual.
sumber