Link-Ziel-Checkbox gesetzt auf Bild bearbeiten MOdal-Fenster im Admin Post-Bearbeitungsbildschirm?

Innerhalb neueren Versionen von WordPress im Visual Editor, wenn Sie ein Foto hinzufügen, können Sie dann auf es klicken, das eine Edit , Delete und Resize Schaltflächen zeigt.

Bildbeschreibung hier eingeben

Klicken Sie nun auf die Schaltfläche Bearbeiten im Bild oben. Es wird ein Modal-Fenster in das DOM eingefügt, das mehr Einstellungen für das Bild hat, wie das Bild unten …

Bildbeschreibung hier eingeben

Im Bild sehen Sie einen Abschnitt Advanced Options mit einer Einstellung Kontrollkästchen open link in new window/tab

Mein Kunde möchte, dass ich seine WordPress so modifiziere, dass die Checkbox standardmäßig aktiviert wird, damit er sie nicht für jedes Bild selbst machen muss.

Ich dachte zuerst, ich könnte es einfach mit JavaScript / jQuery mit so etwas überprüfen lassen …

 jQuery(document).ready( function () { jQuery(".link-target input[type='checkbox']").prop({ checked: true }); }); 

Dies funktioniert jedoch nicht und wahrscheinlich, weil es scheint, dass das Modal dem DOM hinzugefügt wird, nachdem Sie auf die Schaltfläche klicken, um das Bild zu bearbeiten.

Ich hoffe, dass jemand mir helfen kann, vielleicht eine Lösung zu finden?

Solutions Collecting From Web of "Link-Ziel-Checkbox gesetzt auf Bild bearbeiten MOdal-Fenster im Admin Post-Bearbeitungsbildschirm?"

Nun … WordPress verwendet das Plugin wpeditimage tinymce, um die Aufgaben für die Schaltfläche “Medien wpeditimage auszuführen.

Wenn Sie auf das wpeditimage klicken, um das Bild zu bearbeiten … wpeditimage das wpeditimage den wpeditimage und ermittelt, ob für das _blank ein Wert von _blank vorhanden ist.

Wenn der Wert _blank ; Das Plugin wird das Kontrollkästchen aktivieren, wenn das modale Fenster geöffnet wird. Wenn nicht, bleibt die Box deaktiviert.

Sie können diesen Code in Aktion in wp-includes/js/tinymce/plugins/wpeditimage/plugin.js unter der Zeilennummer 217 sehen:

 metadata.linkTargetBlank = dom.getAttrib( link, 'target' ) === '_blank' ? true : false; 

Also … standardmäßig zu überprüfen … jedes Mal, wenn ein Bild in den Editor eingefügt wird, müsste es auch das folgende Attribut und den folgenden Wert haben; target="_blank" .

Jetzt … ist die einzige Möglichkeit, die Box zu überprüfen … ist, dass Sie den Wert von target="_blank" auf dem -Link haben, der das Bild beim Einfügen in den Editor umschließt. Dafür; Wir werden den image_send_to_editor Filter verwenden.

 add_filter('image_send_to_editor', 'my_add_target_blank', 10, 8); function my_add_target_blank($html, $id, $caption, $title, $align, $url, $size, $alt = '' ){ // check if there is already a target value if ( preg_match('//', $html) ) { $html = preg_replace('/()/', '$1 ' . '_blank' . '$2', $html); } else { $html = preg_replace('/(/', '$1 target="' . '_blank' . '" >', $html); } return $html; } 

Dies sollte dafür sorgen, dass das -Tag, das das eingefügte Bild umhüllt, das Attribut target="_blank" .

Wenn Sie jetzt klicken, um das Bild zu bearbeiten (direkt nach dem Einfügen) … werden Sie feststellen, dass die Option “Link in neuem Tab / Fenster öffnen” jetzt aktiviert ist.

Glückliche Kodierung!