Beschränken Sie die Medienbibliothek auf den angegebenen Ordner

Ich habe ein Plugin erstellt, das die Medienbibliothek verwendet, um Benutzern das Hochladen von Dateien in ein bestimmtes Verzeichnis zu ermöglichen – mithilfe des upload_dir Filters.

Ich würde gerne wissen, ob es einen Weg (dh einen Filter) gibt, mit dem ich die Medienbibliothek so einschränken kann, dass nur Dateien in meinem benutzerdefinierten Ordner angezeigt werden.

Wenn möglich, möchte ich, dass der Benutzer nur Dateien auswählen kann, die in den benutzerdefinierten Ordner hochgeladen wurden, wenn er mit der von meinem Plugin instanziierten Medienbibliothek interagiert.

Solutions Collecting From Web of "Beschränken Sie die Medienbibliothek auf den angegebenen Ordner"

Eine Lösung, die für mich funktioniert, besteht darin, der WordPress-Abfrage eine Klausel hinzuzufügen, wenn die Medienbibliothek angezeigt wird.

Beim Durchsuchen meiner WordPress-database habe ich festgestellt, dass der vollständige Pfad zu wp_posts.post_type = 'attachment' in der Spalte wp_posts.guid gespeichert ist.

 add_filter('posts_where', 'limitMediaLibraryItems_56456', 10, 2 ); function limitMediaLibraryItems_56456($where, &$wp_query) { global $pagenow, $wpdb; // Do not modify $where for non-media library requests if ($pagenow !== 'media-upload.php') { return $where; } $where .= " AND {$wpdb->posts}.guid LIKE '%my-path-segment%'"; return $where; }