web-dev-qa-db-fra.com

Définition de la position et de la visibilité des panneaux d'édition et des métaboxes pour tous les utilisateurs et administrateurs

Ma configuration WP 3.3 implique plusieurs types de publication et des panneaux d’édition personnalisés avec le plugin Advanced Custom Fields (qui crée de nombreux métaboxes) et d’autres plugins tels que le panneau metabox SEO, les connexions Posts2Posts de Scribu, etc.

Le problème est que l'ordre d'affichage de ces panneaux est souvent assez aléatoire (même si Adavanced Custom Field offre une sorte d'ordre, mais cela ne fonctionne pas toujours, car les autres plugins ne l'ont pas et par ailleurs, je voudrais peut-être changer métabox positions en fonction du type de poste).

Désormais, Wordpress permet à chaque administrateur/utilisateur disposant des droits appropriés d’organiser les métaboxes dans les panneaux de modification comme il le souhaite. Cependant ... chaque administrateur doit organiser ses propres !! N'y a-t-il pas moyen de préparer un ordre par défaut/fixe ou de laisser superadmin ou un administrateur en particulier pour définir la position des panneaux pour EVERYBODY?

J'ai au moins 4 administrateurs et peu d'éditeurs/auteurs ... cela n'a aucun sens que je dois configurer leurs panneaux en se connectant avec CHAQUE compte de leurs comptes ... c'est stupide et prend beaucoup de temps, et déroutant pour les utilisateurs non avertis avec wordpress .

Y at-il un plugin ou un extrait de code qui pourrait aider mon cas?

je vous remercie

10
unfulvio

Vous pouvez supprimer les méta-boîtes par défaut avec remove_meta_box et les rajouter dans une position différente avec add_meta_box:

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

La réponse ci-dessus provient du fil suivant: Comment changer la position par défaut de WP boîtes méta?

METTRE À JOUR

Si la frustration principale est purement liée au nombre de boîtes de méta disponibles et que vous pensez que chaque utilisateur n'a pas besoin de toutes les boîtes, vous pouvez les masquer des rôles d'utilisateur inférieurs ou de tous les rôles à l'aide du code suivant ajouté au fichier functions.php. NOTE - Cette méthode masque simplement la boîte à méta et ne les désactive ni ne les supprime.

//Hide Post Page Options from all except Administrator
if (!current_user_can('administrator')){
function hide_post_page_options() {
global $post;
$hide_post_options = "<style type=\"text/css\"> #wptotwitter_div, wpseo_meta, #al2fb_meta, #misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section, .al2fb_post_submit, #slugdiv, #edit-slug-box, #screen-options-link-wrap { display: none; }</style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options'  );
}

//Hide Post Page Options from ALL users
function hide_all_post_page_options() {
global $post;
$hide_all_post_options = "<style type=\"text/css\"> #taxonomy-category li.hide-if-no-js, #commentstatusdiv, #wypiekacz_sectionid, #postexcerpt, #trackbacksdiv, #postcustom, #yarpp_relatedposts { display: none !important; }</style>";
print($hide_all_post_options);
}
add_action( 'admin_head', 'hide_all_post_page_options'  );

En gros, il vous suffit d'entrer l'id div ou la classe séparés par une virgule. Je viens de laisser le mien à l'intérieur pour montrer que toutes sortes de boîtes à lettres et de zones peuvent être cachées.

#wptotwitter_div - WP to Twitter plugin
#wpseo_meta - Wordpress SEO by Yoastplugin
#al2fb_meta, .al2fb_post_submit - Add Link to Facebookplugin
#misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section - Default Wordpress Publish Status and Visibility
#slugdiv, #edit-slug-box - The post slug
#screen-options-link-wrap - The "Screen Options" tab at the top of the page
#taxonomy-category li.hide-if-no-js - The "Most Used" categories tab
#commentstatusdiv - The comments on the post
#wypiekacz_sectionid - Wypiekacz plugin
#postexcerpt - Post excerpt
#trackbacksdiv - Trackbacks
#postcustom - Custom post fields
#yarpp_relatedposts - Yet Another Related Posts Plugin

(J'ai mis les exemples dans "code" parce que SE utilise # pour représenter un en-tête)

Je pensais vous en parler, car, comme vous, je suis extrêmement frustré par toutes les boîtes méta, mais je pense qu’en fin de compte, c’est le nombre impressionnant de boîtes non désirées. Pour un "auteur" sur mon site Web, il est désormais très simple: titre, contenu, sauvegarde en tant que brouillon, publication immédiate ou publication planifiée, balises, catégories et image sélectionnée ... Pas d'encombrement.

7
Travis Pflanz

Avez-vous examiné le Adminimize plugin?

Il vous permet d'activer/désactiver les méta-boîtes par rôle d'utilisateur et de configurer le poste. Il faut un peu de temps pour le configurer et la documentation est correcte, même si elle est inégale par endroits, mais elle devrait pouvoir gérer ce que vous décrivez.

1
JCL1178