Añadir más cajas de edición a nuestro editor de WordPress (I)

Si bien ya nos hemos habituado al uso de los campos personalizados que nos vienen por defecto con WordPress, es también posible llegar a crear nuestros propios campos de edición de manera más vistosa para cuando estamos escribiendo un artículo en nuestra administración.

Esto es muy interesante para los clientes (o usuarios, o nosotros mismos por supuesto) que estén interesados en tener una mejor organización de cuanto aparece en la pantalla de edición.

Así, podríamos imaginar un campo llamado “Subtítulo”, otro llamado “Información suplementaria” y un tercero llamado “Listar datos” que el cliente vería adecuadamente en la Administración. El campo personalizado es más abstracto visualmente en cuanto a diseño se refiere, ya que tiende a equiparar informaciones que son de naturaleza y usos distintos (a veces son para escribir texto puro, otras para crear listas, otras para poner una imagen en HTML, un script, etc) y nosotros queremos más “lujo”.

Iremos primero a nuestro single.php, lo abriremos y pegaremos el siguiente código, que será el encargado de mostrar los resultados de lo que hayamos escrito en nuestros nuevos campos especiales (que enseguida explicaremos como crear):

<h2><?php the_title(); ?></h2>

<h3><?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post->ID, 'heading'); ?></h3>

	<div class="entry">

		<?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>

		<?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post->ID, 'additional-info'); ?>

		<?php if ( function_exists('the_DifferentTypeFacts') ) the_DifferentTypeFacts($post->ID, 'listdata'); ?>

	</div>

Las dos primeras líneas las podremos sustituir a nuestros clásicos the_title(), que encontraremos en single.php; y el resto (que incluye un the_content();) distribuirlo más adecuadamente en el template según nuestras necesidades.

Si estamos construyendo el tema desde cero, lo que tendríamos como resultado final en nuestras páginas de artículo en lo que al interior del loop se refiere sería:

- título del artículo en encabezado grande
- subtítulo en encabezado pequeño
- un espacio (div) para contenidos con la clase "entry"
	- el contenido del artículo
	- lo que hubiere en la caja "Información adicional"
	- lo que hubiere en la caja "Listar datos"

Pasemos ahora a la creación del plugin que nos abrirá las cajas extra en el editor.

Vamos a crear un archivo llamado different-type.php, y pegaremos en él lo siguiente (el plugin lo podemos encontrar en Github, y es de un autor alemán, aquí únicamente hemos cambiado tres palabras al español para los tres campos que vamos a crear: Subtítulo, Información adicional y Listar datos) que, de manera curiosa, transformará cada línea en un elemento de lista.

Copiar y pegar en nuestro nuevo different-type.php

Guardamos y recomendamos ahora ir hasta este trozo…

            // remove meta box for trackbacks
            remove_meta_box('trackbacksdiv', 'post', 'normal');
            // remove meta box for custom fields
            remove_meta_box('postcustom', 'post', 'normal');

… y borrarlo si queréis, porque lo que haría es hacer desaparecer las cajas tradicionales de campos personalizados, que posiblemente aún nos interese mantener.

El plugin lo subiríamos junto al resto de plugins y activaríamos desde el panel correspondiente. Ya estamos listos para tener más campos visualmente más cómodos y atractivos en los que escribir información adicional.

Nota: si ahora quisiéramos cambiar el nombre de los tres campos que el plugin nos crea, tendremos que ir hasta esta línea…

        // meta box on post/page

… y manualmente reescribir lo que nos interese en cada uno de los <?php _e( 'Información Adicional:', FB_DT_TEXTDOMAIN ); ?>.

Hasta aquí la primera parte, en breve veremos cómo añadir más campos a los tres que automáticamente el plugin creará.

Comentarios
  1. amdacoba

    Joder tio; funciona a la primera en wordpress 3
    .1
    Muchisimas gracias, llevaba probados 10 plugin y todo eran complicaciones.
    He aquí algo sencillo y funcional.

    Muchisimas gracias. Ahora voy al tuto para añadir más campos.

    Escrito el26/03/2011
  2. Fernando

    Hola ! !

    gracias por la información.

    una consulta como resaltas el texto en tu blog?

    esas cajas azules, yo puse un plugin wp lightbox pero lo despliega diferente ya que es paga código de programación.

    me gustaron esos cuadros para resaltar texto importante.

    Escrito el03/06/2011

DEJA TU COMENTARIO