¿Cómo cambiar la página de edición para un tipo de publicación personalizada?

31 ago 2013, 02:32:03
Vistas: 22K
Votos: 5

He estado buscando esto todo el día y no puedo encontrarlo.

Estoy trabajando en una página de contactos personalizada y estoy usando la función de tipo de publicación personalizada (custom post type) para tener más control sobre ella. Busco cambiar la página de edición a una plantilla personalizada, (por ejemplo, cuando voy a /wp-admin/post.php?post=1234&action=edit), quiero que muestre una página personalizada. No necesito ninguna caja meta ni nada. Tal vez el editor, pero cerca de la parte inferior de la página (no en la parte superior predeterminada).

He encontrado cómo eliminar las cajas meta, pero no he encontrado cómo obtener una página limpia en la página de edición del CPT.

function remove_metaboxes(){
    remove_meta_box('postexcerpt', 'obpcontacts', 'normal'); // Caja de extracto
    remove_meta_box('commentstatusdiv', 'obpcontacts', 'normal'); // Caja de estado de comentarios
    remove_meta_box('commentsdiv', 'obpcontacts', 'normal'); // Caja de comentarios
}
add_action( 'add_meta_boxes', 'remove_metaboxes',11 );

¿Ideas sobre cómo crear una plantilla personalizada en la sección de edición de wp-admin para mi tipo de publicación personalizada?

5
Comentarios

No lo creo. Leí esa publicación hace horas y no explicaba exactamente cómo definir mis propios divs para mostrar los campos personalizados en la página de edición. Además, cuando establezco show_ui en false, pierdo todo el CPT en mi menú de administración - tampoco es ideal. ¿A menos que simplemente no esté conectando los puntos?

Pat Pat
31 ago 2013 03:14:08

Sí, si configuras el CPT como false pierdes todos los menús e interfaces predeterminados. Quieres empezar desde cero. Eso es lo más limpio posible. Luego puedes construir tu propia interfaz de usuario para el CPT.

s_ha_dum s_ha_dum
31 ago 2013 03:45:42

Lo que estás haciendo arriba, por cierto, es la manera correcta de eliminar las partes de la pantalla de edición predeterminada que son removibles; no todas lo son. Ese es el problema que estás teniendo. Solo algunas partes de la pantalla de edición son modificables. Nunca obtendrás una pizarra en blanco. Construir desde cero es la única manera de eliminar todo.

s_ha_dum s_ha_dum
31 ago 2013 03:49:26

Sí, exactamente lo que pregunto. ¿Cómo llego a una pizarra en blanco? La propuesta duplicada por la que has votado no me ayuda demasiado. Como dije, no estoy conectando los puntos en este caso.

Pat Pat
31 ago 2013 04:10:50
Todas las respuestas a la pregunta 2
0

Hasta donde sé, puedes eliminar casi todo excepto la etiqueta de título h2 y el borde de .postbox-container. También ten en cuenta que el #message no es visible por defecto, pero puede aparecer dependiendo de lo que hagas.

Cuando registres tu CPT (Tipo de Publicación Personalizado), establece supports como un array vacío.

'supports' => array ('')

Luego puedes usar lo siguiente para eliminar los metaboxes de publicación y slug (el slug no es visible por defecto, pero está ahí bajo las opciones de pantalla):

function remove_metaboxes(){
    remove_meta_box('slugdiv', 'obpcontacts', 'normal'); // Slug
    remove_meta_box('submitdiv', 'obpcontacts', 'side'); // Caja de publicación
}
add_action( 'add_meta_boxes', 'remove_metaboxes', 11 );

Te quedarán algunos elementos que podrías necesitar eliminar con JavaScript:

// jQuery solo en tu CPT
.removeClass("wrap");  // Eliminar todo el CSS
31 ago 2013 05:23:55
0

Si no necesitas la funcionalidad (en lugar de ocultarla) puedes eliminarla completamente en la lista de argumentos proporcionados a register_post_type().

Esto solo mostrará los campos de título y editor.

$args = array(
    'supports' => array( 'title', 'editor' )
); 

Posibles soportes:

  • 'title' (título)
  • 'editor' (contenido)
  • 'author' (autor)
  • 'thumbnail' (imagen destacada, el tema actual también debe soportar post-thumbnails)
  • 'excerpt' (extracto)
  • 'trackbacks' (trackbacks)
  • 'custom-fields' (campos personalizados)
  • 'comments' (también mostrará el globo de conteo de comentarios en la pantalla de edición)
  • 'revisions' (almacenará revisiones)
  • 'page-attributes' (orden del menú, debe ser jerárquico para mostrar la opción Padre)
  • 'post-formats' (agrega formatos de entrada, ver Formatos de entrada)
31 ago 2013 05:40:59