Bonjour,

Voila je rencontre un petit problème avec mon code.

Je veux supprimer la posibilité qu'on les auteurs de voir les medias de tout le monde.

je cherche donc a modifier wp_query avant que wordpress ne fase la requette .
J'ai donc essayé ce genre de chose

function pimp_ma_query($query) {

     if($query->is_main_query() and is_admin() ):

                    $author = get_current_user_id();

          $query->set('author', $author);

                    return $query;

     endif;

 }
  add_filter('pre_get_posts', 'pimp_ma_query');

je cherche a avoir le meme comportement entre l'onglet grid et liste

Effectivement celà fonctionne très bien si je regarde les medias en liste dès que je les affiche avec l'option Grid çà me rend toutes les images.

Une idée pour me permettre d'avoir ce comportement partout ?

1 réponse


Mr Moody
Auteur
Réponse acceptée

Re bonjour pour ce que ça interesse voici la solution effectivement il y a un appel ajax lors du passage en tre grid et list .

/**
 * Note: Pour limiter une liste par defaut par son Author
 * 
 */
 function pimp_ma_query($query) {
     if($query->is_main_query() and is_admin() ):
         if( !current_user_can('manage_options') )
         $author = get_current_user_id();
         $query->set('author', $author);
         return $query;
     endif;

 }
 add_filter('pre_get_posts', 'pimp_ma_query');

/**
 * Note: Pour limiter une liste lors d'un appel ajax par son Author
 * 
 */

 function show_users_own_attachments( $query )
 {
     $id = get_current_user_id();
     if( !current_user_can('manage_options') )
     $query['author'] = $id;
     return $query;
 }
 add_filter( 'ajax_query_attachments_args', 'show_users_own_attachments', 1, 1 );