Richtige Möglichkeit, eine Schaltfläche zum Hauptmenü der Medienbibliothek hinzuzufügen?

7

Ich möchte dem Hauptmenü der Medienbibliothek eine einfache Schaltfläche hinzufügen (z. B. rechts neben den Dropdown-Listen für Massenaktionen / Filter. Ich habe den WordPress-Codex nach einer geeigneten Methode durchsucht und nichts Nützliches gefunden.

Bevor ich dieses Problem mit Javascript angreife, wollte ich die Community fragen, ob es eine geeignete WordPress-API gibt, um dies zu tun - im Sinne von manage_media_columnsund manage_media_custom_column.

Vielen Dank an alle!

karim79
quelle
1
Ich habe einige Zeit damit verbracht, in den Kerndateien nach undokumentierten Aktionen und Filtern zu suchen, die Sie möglicherweise in upload.php oder den zugehörigen Klassen, auf die es sich stützt, einbinden, aber ich finde nichts. Ich denke, die Antwort wird "JavaScript entfernt!" Sein. Es tut uns leid.
Scott Nelle

Antworten:

1

Dies ist der einzige Weg, den ich bisher gefunden habe und der hässlich ist. WordPress bietet jedoch keine Möglichkeit, dies durch Filter zu ändern, die ich im Kern finden kann. Ich präsentiere die hackige "Do-it-through-Javascript" -Methode:

add_action( 'load-upload.php', function(){
    $js = <<<JAVASCRIPT
jQuery(document).ready(function($){
    setTimeout(function() {
        $('.wp-filter .button:last' ).after($('<button class="button">Hi</button>'));
    }, 1000);
});
JAVASCRIPT;

    add_filter( 'admin_footer', function() use ($js) {
        echo "<script>{$js}</script>";
    });
});

Natürlich sollten Sie das gewünschte Javascript in die Warteschlange stellen, anstatt es wie ich zu tun, aber dies ist ein Proof-of-Concept. Es wird eine Schaltfläche zu beiden Symbolleisten der Medienbibliothek hinzugefügt (Listenansicht und Galerieansicht).

Der Grund dafür setTimeoutist, dass die Filterleisten tatsächlich nach dem Laden der Seite geladen werden, sodass das Warten auf das bereitstehende Dokument nicht ausreicht. Es gibt wahrscheinlich einen besseren Ort, um dies zu erreichen, aber dies sollte ein guter Anfang sein.

Phatskat
quelle