Desarrollo de Temas desde Cero: Implementación de Campos Personalizados y Meta Boxes

Cuando se trata de desarrollo de temas de WordPress, una de las características más poderosas es la capacidad de agregar campos personalizados y metacuadros. Estas herramientas permiten a los desarrolladores ampliar la funcionalidad de WordPress y ofrecer una experiencia de usuario más rica e interactiva. En este artículo, exploraremos cómo implementar campos personalizados y metacuadros al desarrollar un tema desde cero.

¿Qué son los campos personalizados?

Los campos personalizados son una forma de agregar información adicional a publicaciones, páginas o tipos de publicaciones personalizadas en WordPress. Le permiten agregar datos que no están cubiertos por los campos estándar de WordPress, como el título de la publicación o el contenido. Por ejemplo, si estás creando un sitio web para un evento, puedes usar campos personalizados para agregar información como la fecha, la ubicación y los oradores.

¿Qué son las Meta Boxes?

Meta Boxes son interfaces de usuario en el panel de administración de WordPress que permiten a los usuarios interactuar con campos personalizados. Proporcionan una forma estructurada de presentar campos personalizados, lo que facilita a los usuarios ingresar y editar información adicional.

Implementación de campos personalizados

Hay varias formas de agregar campos personalizados a un tema de WordPress. El enfoque más directo es utilizar la funcionalidad integrada de WordPress. Sin embargo, para un control más detallado, los desarrolladores suelen optar por codificar sus propios campos personalizados o utilizar complementos como Campos personalizados avanzados (ACF) para una implementación más ágil y rica en funciones.

Uso de la funcionalidad integrada de WordPress

Para agregar un campo personalizado manualmente:

  • Editar una publicación o página en el panel de administración.
  • Desplácese hacia abajo hasta la sección "Campos personalizados".
  • Haga clic en "Ingresar nuevo" para agregar un nuevo campo.
  • Ingrese un nombre para la clave de campo y el valor deseado.
  • Guarde o actualice la publicación para almacenar el campo personalizado.

Para mostrar el valor del campo personalizado en tu tema, usarías una función como get_post_meta() en tus archivos de plantilla:

<?php
  $custom_field_value = get_post_meta(get_the_ID(), 'custom_field_key', verdadero);
  eco '<div>'. esc_html($custom_field_value) .'</div>';
?>

Uso de complementos

Los complementos como Advanced Custom Fields ofrecen una interfaz más fácil de usar para administrar campos personalizados. Con ACF, puede crear campos y asignarlos a publicaciones, páginas o tipos de publicaciones personalizadas sin escribir una sola línea de código. El complemento también proporciona una amplia variedad de tipos de campos como texto, imagen, galería, relación y más.

Implementación de Meta Boxes

Para crear Meta Boxes personalizados, necesitarás usar las funciones de WordPress add_meta_box() y funciones relacionadas para guardar datos cuando se actualiza una publicación. A continuación se muestra un ejemplo básico de cómo agregar un Meta Box:

función my_custom_meta_box() {
  agregar_meta_box(
    'my_meta_box_id', // ID de metacaja
    'Información adicional', // Título del cuadro meta
    'my_custom_meta_box_callback', // Devolución de llamada que muestra el contenido
    'post', // Tipo de post donde se mostrará
    'normal', // Contexto (ubicación en la pantalla de edición)
    'alta prioridad
  );
}
add_action('add_meta_boxes', 'my_custom_meta_box');

función my_custom_meta_box_callback($publicación) {
  // Contenido de la meta caja
  // Usa nonce para verificación
  wp_nonce_field('my_custom_meta_box', 'my_custom_meta_box_nonce');

  //Obtiene los valores de los campos, si ya existen
  $valor = get_post_meta($post->ID, '_my_meta_value_key', verdadero);

  //Campos para ingresar datos
  echo '<label for="my_custom_field">Mi campo personalizado:</label>';
  echo '<input type="text" id="my_custom_field" name="my_custom_field" value="'. esc_attr($value) .'" size="25" />';
}

// Guardar datos de Meta Box
función save_my_custom_meta_box_data($post_id) {
  // Comprobar si el nonce es válido
  if (!isset($_POST['my_custom_meta_box_nonce']) || !wp_verify_nonce($_POST['my_custom_meta_box_nonce'], 'my_custom_meta_box')) {
    devolver;
  }

  // Comprobar si el usuario tiene permiso para editar la publicación
  if (!current_user_can('edit_post', $post_id)) {
    devolver;
  }

  //Comprueba si no es un guardado automático
  si (definido ('HACER_AUTOSAVE') && HACER_AUTOSAVE) {
    devolver;
  }

  // Guardar o actualizar el valor del campo personalizado
  si (isset($_POST['my_custom_field'])) {
    update_post_meta($post_id, '_my_meta_value_key', sanitize_text_field($_POST['my_custom_field']));
  }
}
agregar_action('save_post', 'save_my_custom_meta_box_data');

Este código crea un Meta Box con un campo personalizado llamado "Mi campo personalizado" y se encarga de mostrar y guardar los datos ingresados.

Consideraciones finales

Implementar campos personalizados y metacuadros en temas de WordPress es una forma eficaz de ofrecer una funcionalidad personalizada que satisfaga las necesidades específicas de sus usuarios. Ya sea manualmente o mediante complementos, estas herramientas le permiten crear una experiencia de usuario más rica e intuitiva. Recuerde seguir siempre las mejores prácticas de seguridad, como la verificación nonce y la desinfección de datos, para garantizar que su tema sea seguro y confiable.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de las siguientes afirmaciones sobre el desarrollo de temas de WordPress es cierta?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Desarrollo de temas desde cero: uso del personalizador de WordPress para opciones de temas 86

Siguiente página del libro electrónico gratuito:

Desarrollo de temas desde cero: uso del personalizador de WordPress para opciones de temas

Tiempo estimado de lectura: 5 minutos

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.

+ 9 millones
estudiantes

Certificado gratuito y
válido con código QR

60 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo y audiolibros