WordPress di default mostra tutti i media caricati a tutti gli utenti che si collegano alla dashboard, in certi casi può rendersi necessario per via della privacy, che ogni utente veda solo i propri contenuti caricati e non quelli degli altri.
Come ho già detto altre volte, WordPress in termini di ACL è sempre stato un pò scarso rispetto a Joomla, che in questo senso è anni luce avanti; ma resto fiducioso che un gionro implementerà anche WordPress un sistema ACL nativo senza ricorrere a plugin o ogni volta farsi una funzione PHP.
Ciò detto, possiamo scrivere una funzione PHP oppure sviluppare un plugin WP, inserendo questo codice :
1 2 3 4 5 6 7 8 |
add_filter( 'ajax_query_attachments_args', 'show_current_user_attachments' ); function show_current_user_attachments( $query ) { $user_id = get_current_user_id(); if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts')) { $query['author'] = $user_id; } return $query; } |
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.