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

Como vimos el otro día, con el plugin que os presentamos fue posible crear campos de edición adicionales en nuestra Administración.

Vamos a ver hoy, en el caso de que queramos, cómo añadir un cuarto campo; y los pasos genéricos que podemos seguir para modificar el plugin sin riesgo y adaptarlo a nuestras necesidades.

Podéis re-copiar el plugin en vuestro editor desde aquí

Para añadir más campos, fijaos en este segmento:


       if ( isset($_POST['dt-heading']) && $_POST['dt-heading'] != '' )
           $this->data['heading'] = esc_attr( $_POST['dt-heading'] );
       if ( isset($_POST['dt-additional-info']) && $_POST['dt-additional-info'] != '' )
           $this->data['additional-info'] = $_POST['dt-additional-info'];
       if ( isset($_POST['dt-listdata']) && $_POST['dt-listdata'] != '' )
           $this->data['listdata'] = esc_attr( $_POST['dt-listdata'] );

Es el que nos dice que guardemos el contenido de los nuevos metaboxes creados.

Si queremos añadir cajas, habrá que añadir más “if” para las nuestras. Por ejemplo, una llamada “Texto lateral” que usaremos como ejemplo de modificación de este plugin:

       if ( isset($_POST['dt-textolateral']) && $_POST['dt-textolateral'] != '' )
           $this->data['listdata'] = esc_attr( $_POST['dt-textolateral'] );

Buscaremos luego esta línea…

	<!-- aquí podemos añadir más cajas! -->

A partir de ella, se podrá crear nuestro particular nuevo espacio de escritura. Por ejemplo:

                <tr valign="top">
                    <td><label for="dt-textolateral"><?php _e( 'Texto Lateral:', FB_DT_TEXTDOMAIN ); ?></label></td>
                    <td><textarea cols="16" rows="5" id="dt-textolateral" name="dt-textolateral" class="textolateral form-input-tip code" size="20" autocomplete="off" tabindex="6" style="width:90%"/><?php echo wpautop( $value['textolateral'] ); ?></textarea>
                        <table id="post-status-info" cellspacing="0" style="line-height: 24px;">
                            <tbody>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>

Luego vamos hasta esta línea…

	//tratamiento del markup inscrito en las cajas

…y añadimos debajo de la misma:

       if ( 'textolateral' == $type && '' != $value['textolateral'] )
           return wpautop( wptexturize($value['textolateral']) );

Ahora guardaremos y, antes de subir el plugin, regresaremos a single.php para añadir el lugar donde se mostrará la información que se introduzca en nuestra recién creada caja extra:

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

Y ya hemos visto cómo modificar el plugin según nuestras necesidades.

Comentarios
  1. Que tal, me pareció tan didáctico y preciso TodoWordPress, que escribí un artículo en mi blog recomendando su lectura.

    Saludos!

    Escrito el15/04/2010
  2. Hola Charly, gracias ! Se agradece el detalle, por aquí estaremos creando tutoriales. Saludos.

    Escrito el15/04/2010

DEJA TU COMENTARIO