Saya mencoba menambahkan input teks ke modal "Insert Media" dengan harapan bisa menambahkan data-
atribut html5 ke jangkar induk gambar.
<a class="fancybox" href="..." data-fancybox-group=" ">
<- Bagian ini
<img class="wp-image-871" src="..." alt="..." width="245" height="333" />
</a>
Sejauh ini saya sudah bisa menambahkan input ke modal:
Menggunakan kode di bawah ini di file functions.php saya:
function add_fancybox_input( $form_fields, $post ) {
$form_fields['fancyboxGroup'] = array(
'label' => 'fancybox group',
'input' => 'text',
'value' => 'testing',
'helps' => 'use this to group images in fancybox',
);
return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'add_fancybox_input', 10, 2 );
Dan saya telah menambahkannya data-fancybox-group=""
ke anchor menggunakan:
function give_linked_images_class($html, $id, $caption, $title, $align, $url, $size, $alt = '' ){
$classes = 'fancybox'; // separated by spaces, e.g. 'img image-link'
// check if there are already classes assigned to the anchor
if ( preg_match('/<a.*? class=".*?">/', $html) ) {
$html = preg_replace('/(<a.*? class=".*?)(".*?>)/', '$1 ' . $classes . '$2', $html);
} else {
$html = preg_replace('/(<a.*?)>/', '$1 class="' . $classes . '" data-fancybox-group="" >', $html);
}
return $html;
}
add_filter('image_send_to_editor','give_linked_images_class',10,8);
Di sinilah saya terjebak ... Saya punya tempat untuk memasukkan data dan saya punya tempat untuk data itu, tapi saya tidak yakin bagaimana cara mendapatkan data dari input ke data Atribut -fancybox-group.
sumber
delete_post_meta($id, 'fancyboxGroup');
harus menghapus atribut yang disimpan, tetapi saya tidak yakin bagaimana memecatnyaimage_send_to_editor
.Saya tidak yakin apakah ini yang terbaik untuk Anda, tetapi saya rasa Anda bisa mencobanya.
Dapatkan data dari bidang input dan letakkan dalam formulir di input tersembunyi atau sesuatu dan lakukan atribut data saat jendela Pemilihan Media akan ditutup
Saya tahu ini kedengarannya gila, tetapi mungkin sangat sederhana bagi Anda dan mungkin berhasil.
sumber
.data()
yang dimaksudkan untuk digunakan api.jquery.com/jquery.data