Configuración de paneles de edición de administrador y metaboxes posiciones y visibilidad para TODOS los usuarios y administradores

10

Mi configuración de WP 3.3 incluye varios tipos de publicaciones y paneles de edición personalizados con el complemento de Campos personalizados personalizados (que crea muchos metaboxes) y otros complementos como el panel de metabox de SEO, las conexiones Posts2Posts de Scribu y más.

El problema es que el orden de aparición de estos paneles suele ser bastante aleatorio (incluso si Adavanced Custom Fields ofrece algún tipo de orden, pero no siempre funciona, ya que otros complementos no lo tienen y, además, es posible que desee para cambiar las posiciones metabox de acuerdo a los tipos de correos).

Ahora, Wordpress le permite a cada administrador / usuario con los derechos adecuados organizar los metaboxes en los paneles de edición de la forma que él / ella quiera. Sin embargo ... cada administrador tiene que arreglar su propio !! ¿No hay una manera de preparar un pedido predeterminado / fijo o dejar que el superadmin o un administrador en particular establezcan la posición de los paneles para TODOS?

Tengo al menos 4 administradores y pocos editores / autores ... no tiene sentido. Tengo que configurar sus paneles iniciando sesión con CADA UNO de sus cuentas ... es estúpido y lento, y confuso para no usuarios expertos en wordpress.

¿Hay algún complemento o fragmento de código que pueda ayudar a mi caso?

gracias

    
pregunta unfulvio 12.04.2012 - 07:09

2 respuestas

6

Puedes eliminar las meta cajas predeterminadas con remove_meta_box y volver a agregarlas en una posición diferente con 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 respuesta anterior es del siguiente hilo: ¿Cómo cambiar la posición predeterminada de las meta cajas de WP?

ACTUALIZACIÓN

Si la frustración principal es simplemente la cantidad de metacuadros disponibles, y no cree que cada usuario necesite todos los cuadros, puede ocultarlos de roles de usuario inferiores o de todos los roles utilizando el siguiente código agregado al archivo functions.php . NOTA: este método simplemente oculta el meta box y no los desactiva ni elimina.

//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'  );

Básicamente, solo necesitas ingresar el div div o la clase separados por una coma. Acabo de dejar el mío allí para mostrar que se pueden ocultar todo tipo de meta cajas y áreas.

#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

(Pongo los ejemplos en "código" porque SE usa # para representar un encabezado)

Pensé que te lo iba a lanzar porque, al igual que a ti, me sentí extremadamente frustrado con todas las cajas de metadatos, pero en última instancia, creo que fue la gran cantidad de cajas no deseadas. Para un "autor" en mi sitio web, ahora está muy simplificado: Título, Contenido, guardar como borrador, publicar ahora o programar su publicación, etiquetas, categorías e imagen destacada ... Sin desorden en absoluto.

    
respondido por el Travis Pflanz 12.04.2012 - 07:46
1

¿Ha consultado el complemento Adminimize ?

Le permite activar / desactivar meta box por rol de usuario y también configurar la posición. Se tarda un poco en configurarlo y la documentación es decente, aunque irregular en algunos lugares, pero debería poder manejar lo que está describiendo.

    
respondido por el JCL1178 19.07.2012 - 06:26

Lea otras preguntas en las etiquetas