Selon ma question hier , je dois exclure toutes les images de la plupart de mes requêtes WordPress - hier, je pensais que je devais les exclure de toutes les requêtes, jusqu'à ce que je tombe sur le problème suivant.
L'exclusion d'images à l'aide du filtre suivant les exclut également de la bibliothèque multimédia, y compris la boîte de dialogue Insérer un média.
function remove_images($where) {
global $wpdb;
$where.=' AND '.$wpdb->posts.'.post_mime_type NOT LIKE \'image/%\'';
return $where;
}
Je veux toujours pouvoir voir les images dans ma médiathèque et insérer un dialogue multimédia.
Normalement, je pourrais simplement insérer une clause if (!is_admin())
, car la médiathèque est généralement visible dans la section admin.
Cependant , j’ai aussi un wp_editor
au début de la session pour permettre à mes utilisateurs d’ajouter rapidement des publications - et vous pouvez également accéder à la médiathèque à partir de là.
Existe-t-il un crochet ou une condition que je peux utiliser pour que le filtre ne soit pas inclus lors de l'interrogation de la médiathèque?
Vous pouvez utiliser is_admin()
en conjonction avec la variable globale admin $pagenow
pour créer Assurez-vous que vous n'êtes ni sur la page de téléchargement ni sur la page multimédia:
function remove_images( $where ) {
global $wpdb,
$pagenow;
if( is_admin() && in_array( $pagenow, array( 'upload.php', 'media-upload.php' ) ) {
return $where
}
$where .= " AND {$wpdb->posts}.post_mime_type NOT LIKE 'image/%'";
return $where;
}