Ich versuche, dem Modal "Medien einfügen" eine Texteingabe hinzuzufügen, in der Hoffnung data-
, dem übergeordneten Anker der Bilder ein HTML5- Attribut hinzufügen zu können .
<a class="fancybox" href="..." data-fancybox-group=" ">
<- Dieser Teil
<img class="wp-image-871" src="..." alt="..." width="245" height="333" />
</a>
Bisher konnte ich den Eingang zum Modal hinzufügen:
Verwenden Sie den folgenden Code in meiner Datei 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 );
Und ich habe das data-fancybox-group=""
dem Anker hinzugefügt mit:
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);
Hier stecke ich fest ... Ich habe einen Ort, an dem ich die Daten eingeben kann, und ich habe einen Ort, an dem die Daten gespeichert werden können, aber ich bin mir nicht sicher, wie ich die Daten von der Eingabe in die Daten übertragen kann -fancybox-group Attribut.
quelle
delete_post_meta($id, 'fancyboxGroup');
sollte das gespeicherte Attribut löschen, bin mir aber nicht sicher, wie ich es danach auslösen sollimage_send_to_editor
.Ich bin mir nicht sicher, ob dies das Beste für Sie ist, aber ich denke, Sie könnten es versuchen.
Holen Sie sich die Daten aus dem Eingabefeld und platzieren Sie sie im Formular auf einer versteckten Eingabe oder etwas anderem. Führen Sie das Datenattribut aus, wenn das Fenster der Medienauswahl geschlossen wird
Ich weiß, das klingt verrückt, aber es könnte für Sie sehr einfach sein und den Trick machen.
quelle
.data()
so verwendet werden soll api.jquery.com/jquery.data