J'ai ajouté de nouveaux types mime avec le filtre 'post_mime_types' par exemple. PDF, doc, mp3 etc ...
Filtrer par type MIME personnalisé sur la page upload.php en mode grille multimédia fonctionne comme prévu, mais pas en mode liste.
Le problème est que WordPress transmet les types mime via urlencode
lorsqu’il construit le code HTML ( wp-admin/includes/class-wp-media-list-table.php: 73 ) et ainsi
post_mime_type:application/pdf
devient
post_mime_type:application%2Fpdf
pour la valeur déroulante.
Lorsque le formulaire de filtre est soumis, le '/' encodé est ignoré et ne filtre pas correctement.
Remettre "% 2F" en "/" avec JS fonctionnerait, mais j'aimerais savoir si quelqu'un a une solution pour décoder la chaîne avant qu'elle ne soit traitée et la page rechargée.
Voici une solution de contournement que vous pouvez mettre dans un plugin ou dans le fichier functions.php de votre thème. Jusqu'ici pas de problèmes.
/*
* Workaround Bug 30123
* Affects WP 4.0+, should be fixed in WP 4.1
* https://core.trac.wordpress.org/ticket/30123
*/
function bugfix30123__action__admin_init() {
if ( isset( $_GET['attachment-filter'] ) && is_string( $_GET['attachment-filter'] ) ) {
$_GET['attachment-filter'] = $_REQUEST['attachment-filter'] = str_replace( '%2F', '/', $_GET['attachment-filter'] );
}
}
add_action( 'admin_init', 'bugfix30123__action__admin_init' );