Wie ändere ich die Dialogoptionen des Bildeditors in WordPress?


8

Ich versuche, die Optionsfelder "Ausrichtung" für Bilder auszublenden, die in den Inhaltsbereich des Beitrags hochgeladen wurden, kann jedoch nicht herausfinden, wie dem Dialogfeld "Bildeditor" eine benutzerdefinierte CSS- oder JS-Datei hinzugefügt wird.

Ich habe dem Aktions-Hook tiny_mce_before_init erfolgreich einen Filter hinzugefügt, um Ausrichtungsschaltflächen aus dem TinyMCE-Texteditor zu entfernen, bin mir jedoch nicht sicher, wie ich dies mit dem Bildeditor tun soll.

Geben Sie hier die Bildbeschreibung ein

Ich habe einen jQuery-Hack ausprobiert, aber es scheint nicht zu dauern:

$('.mceWrapper iframe').load( function() {
    $(this).contents().find('tr.align').hide();
});

IIRC, dass iframe keine jQuery enthält, kann das Problem sein.
NoBugs

Da dies ein winziges MCE-Plugin ist, gibt es keine Möglichkeit, die Ausgabe zu filtern. Sie müssten das Plugin (tinyMCE Plugin, nicht WordPress Plugin) durch ein benutzerdefiniertes ersetzen. Schauen Sie sich einen ähnlichen Beitrag über Stackoverflow an: Anpassen des WP-Bildbearbeitungs-Widgets
Kraftner

Außerdem scheint das wpeditimage tinyMCE-Plugin derzeit intensiv bearbeitet zu werden. Vielleicht möchten Sie sich die anstehenden Änderungen in WordPress Make
kraftner

Antworten:


2

Wenn Sie es im Detail betrachten, können Sie den Bildeditor nicht nur in einigen Details ändern. Sie können nur den Bildeditor durch eine leicht modifizierte Kopie ersetzen. Ich werde kurz erklären, wie das gemacht werden kann.

Aber vorher ein Wort der Warnung. Der Bildeditor wird derzeit (2/2014) bearbeitet, sodass diese Lösung ab der nächsten WordPress-Version ohne weitere Änderungen wahrscheinlich nicht mehr funktioniert.

Ein letzter Hinweis: Es wäre wahrscheinlich besser, wenn Sie dies in ein Plugin und nicht in Ihr Thema einfügen würden. Um diese Antwort zu verkürzen, erkläre ich Ihnen, wie Sie dies in Ihr Thema einfügen können.

1. Entfernen Sie den Standard-Bildeditor

add_filter( 'tiny_mce_plugins', 'remove_wpeditimage', 10, 2 );

function remove_wpeditimage($plugins){
    if(($key = array_search('wpeditimage', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    if(($key = array_search('teeny_mce_plugins', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    return $plugins;
}

2. Kopieren Sie den Bildeditor und ändern Sie ihn

Kopieren Sie wp-includes / js / tinymce / plugins / wpeditimage in Ihren Themenordner .

Ändern Sie es nach Ihren Wünschen. Der einfachste Weg, die Ausrichtungsoptionen loszuwerden, besteht darin, Zeile 55 von zu ändern

<tr class="align">

zu

<tr class="align" style="display:none;">

3. Fügen Sie den geänderten Bildeditor hinzu

add_filter('mce_external_plugins', 'add_customized_wpeditimage');

function add_customized_wpeditimage($plugins) {
    $plugins[ 'wpeditimage' ] = get_template_directory_uri() . '/wpeditimage/editor_plugin.js';
    return $plugins;
}

-1

Die gesuchte Funktion zum Hinzufügen von CSS zum MCE-Editor heißt add_editor_style . Ich habe versucht, das zum Laufen zu bringen, aber ein kurzer fünfminütiger Hack hat bei mir nicht funktioniert. Laut Kodex ist dies jedoch der richtige Weg.


-1

Sie können es einfach mit Ihrem CSS ausblenden. Wenn Ihr Thema eine CSS-Datei für Ihr Admin-Dashboard enthält (für benutzerdefinierte Formulare usw.), fügen Sie diese einfach zu dieser Datei hinzu.

#img-edit tr.align { display:none; }

Wenn Ihr Thema keine CSS-Datei für das Admin-Dashboard enthält, können Sie diese functions.phpstattdessen in die Datei Ihrer Themen einfügen.

add_action( 'admin_head', 'so4513579_hide-img-alignment' );

function so4513579_hide-img-alignment() {
    echo "<style> #img-edit tr.align { display:none; } </style>";
}

Beachten Sie, dass der Ausrichtungswert weiterhin so gespeichert wird, wie er vor der Bearbeitung war.


Dies funktioniert nicht, da das CSS nicht zum Iframe des wpeditimage tinyMCE-Plugins hinzugefügt wird, sondern zum übergeordneten Bearbeitungsbildschirm.
Kraftner
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.