Je crée un paramètre pour définir un logo. Cela fonctionne mais il y a un problème.
Je n'ai besoin que d'une image pour que l'élément de la galerie soit désactivé/masqué. Bien sûr, cela ne devrait affecter que cette page, encore mieux ce paramètre.
<?php
// above this I do a simple settings api
?>
<input id="set_logo" type="text" size="100" name="set_logo" value="<?php echo esc_attr( $value ); ?>" />
<?php
do_action( 'media_buttons', 'set_logo' );
J'ai regardé à plusieurs endroits dans le code, mais je ne trouve aucun indice sur la façon de procéder.
MODIFIER
Je l'ai résolu d'une manière différente qui n'est pas liée à cela. La solution est maintenant implémentée dans mon premier plugin: http://wordpress.org/extend/plugins/default-featured-image/
prise éhontée.
Vous pouvez désactiver les onglets à l'aide d'un crochet de filtre. Remplacez wpse_76095_isOurMediaUpload () par le fait que vous déterminez que vous exécutez la fenêtre contextuelle de média.
add_filter('media_upload_tabs', 'wpse_76095_filterMediaUploadTabs');
/**
* filter out unwanted media upload tabs
* @param array $tabs
* @return array
*/
function wpse_76095_filterMediaUploadTabs($tabs) {
if (wpse_76095_isOurMediaUpload()) {
unset(
$tabs['type_url'], // no linking from external sites (no local image)
$tabs['gallery'], // no galleries
$tabs['nextgen'] // no NextGEN galleries
);
}
return $tabs;
}
Je n’ai pas reproduit les détails de la Q. Mais les travaux suivants ont pour but de désactiver le Create Gallery lien depuis la nouvelle interface média:
add_action( 'admin_footer-post-new.php', 'disable_media_gallery_wpse_76095' );
add_action( 'admin_footer-post.php', 'disable_media_gallery_wpse_76095' );
function disable_media_gallery_wpse_76095()
{
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$(document.body).one( 'click', '.insert-media', function( event ) {
$(".media-menu").find("a:contains('Gallery')").remove();
});
});
</script>
<?php
}
ps: Je viens de découvrir le one
dans jQuery, Nice one;)