Я пытаюсь добавить текстовый ввод в модал «Вставка мультимедиа» в надежде на возможность добавить data-
атрибут html5 к родительской привязке изображений.
<a class="fancybox" href="..." data-fancybox-group=" ">
<- Эта часть
<img class="wp-image-871" src="..." alt="..." width="245" height="333" />
</a>
До сих пор я был в состоянии добавить вход к модальному:
Используя код ниже в моем файле functions.php:
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 );
И я добавил data-fancybox-group=""
к якору, используя:
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);
Вот где я застрял ... У меня есть место для ввода данных, и у меня есть место для данных, но я не уверен, как получить данные из ввода в данные -fancybox-group атрибут.
источник
delete_post_meta($id, 'fancyboxGroup');
следует удалить сохраненный атрибут, но я не уверен, как его запустить послеimage_send_to_editor
.Я не уверен, что это лучше для вас, но я думаю, вы могли бы попробовать.
Получите данные из поля ввода и поместите их в форму на скрытый вход или что-то еще и сделайте атрибут данных, когда окно выбора носителя закроется
Я знаю, это звучит безумно, но это может быть очень просто для вас, и это может помочь.
источник
.data()
следует использовать api.jquery.com/jquery.data