Creación de metaboxs personalizados en WordPress

Los meta cuadros son una característica útil en WordPress que le permiten agregar datos totalmente personalizados a una publicación o página de WordPress. Supongamos, por ejemplo, que crea un sitio web para un cliente que tiene que mostrar información nutricional junto con productos de una tienda (como exploraremos en esta publicación). Puede agregar cualquier cantidad de cuadros de metal personalizados a las pantallas de publicación y edición de páginas en WordPress Backynd, tanto para publicaciones como para aduanas. Por lo general, las metacasas personalizadas contienen campos de datos y formularios, que permiten a los administradores agregar/editar/eliminar los metadatos de las publicaciones (es decir, los campos personalizados, excediendo las limitaciones de la caja de campo personalizada y mal incorporada.
En este tutorial, le mostraré cómo agregar sus propias metacasas personalizadas a una pantalla de edición posterior. Exploraremos cómo agregar y administrar campos de texto y botones de radio y cuadros de selección que brindarán a los usuarios un control más avanzado sobre los metadatos de publicación. Nota: Desplácese hacia abajo hasta la parte inferior de la página para descargar el complemento gratuito del ejemplo de este tutorial. ¿Qué es una meta box? Una caja meta es una caja que se puede mostrar en la pantalla de edición posterior en el backp de WordPress. Los usuarios pueden seleccionar o ingresar información adicional en meta cuadros, además del contenido en el área de edición de publicación principal.
Hay dos tipos de datos que puede ingresar en metacasas: metadatos (es decir, campos personalizados) y términos de taxonomía. Agregar un cuadro Meta WordPress ofrece una función add_meta_box con el propósito específico de agregar una nueva caja meta personalizada. Se debe llamar a Add_Meta_Box desde una función de llamada inversa que debe ejecutarse cuando se cargan add_meta_box la página actual. Esta tarea se puede realizar conectando add_meta_box_ {Custom-Post-type} al gancho de acción add_meta_box_ {Custom-Post-type}, como se sugiere en Codex. Dicho esto, para agregar el siguiente código al archivo principal de un complemento o en la función.php de un tema (teniendo en cuenta que es mejor crear un tema infantil en lugar de cambiar las funciones de un archivo.php): cargar FCEFFAF58E029A076F123C6A91A2Edff5Edff5 de archivo
Esta es nuestra primera caja de metal personalizada. En el código anterior, pasamos seis argumentos a la función add_meta_box: una ID para el meta casilla, un título, una función de llamada inversa, la babosa de una publicación personalizada (alimento), contexto (lado) y prioridad (baja). . La función de llamada inversa imprimirá la marca HTML en el Meta Box y la definiremos de la siguiente manera:
Cargue la idea 5EBF00A60911F1592F206C079D2D32A1
HTML aún no está impreso, pero la meta caja está en su lugar. Así que pasemos por este ejemplo más detallado.
Una caja personalizada de metal vacía

En primer lugar, deberíamos considerar mantener las cosas seguras. Debemos llamar a la función WP_NONCE_FIELD, que produce un campo que no es de campo, con el propósito de asegurarse de que la solicitud de formulario provenga del sitio actual. Entonces, agregue la siguiente línea de código a la función de llamada inversa: Cargue la idea 9C206783D31BA436E0FE78CE42BCAE62
Aquí, pasé la función solo dos de los cuatro argumentos admitidos. El primero es el nombre de la acción, aquí establecido en el nombre básico del archivo actual, mientras que el segundo argumento es el nombre del atributo del campo oculto. Incluso si el campo Nonce no garantiza la protección absoluta, es una buena práctica incluirlo siempre en cualquier cuadro de metal personalizado (marque el códice de WordPress para obtener una explicación más detallada). Una vez que hayamos terminado con la seguridad, debemos extraer de la base de datos los valores de los campos personalizados que se gestionarán a través de los campos de Metabox. Aquí está la función get_post_meta get_post_meta.
En nuestro ejemplo de complemento (o el archivo con funciones, dependiendo de cómo desee implementar el ejemplo en este tutorial) usamos tres campos personalizados únicos, dos cadenas y una matriz. El siguiente código muestra cómo tomar sus valores de la base de datos:
Los elementos esenciales de AB0FF76389EDAF716869AD44F2065BA9 están cargados
En este ejemplo, los campos personalizados están precedidos por subrayando guiones, lo que significa que estamos tratando con campos personalizados ocultos. De esta manera, no se mostrarán al usuario del administrador en la caja de metal construida, pero solo serán editables de Metabox personalizado.
Finalmente, es hora de imprimir la marca. Los campos de formulario de impresión ahora deben producir el resultado. Comencemos agregando un campo de texto simple, que permitirá al usuario del administrador almacenar el valor de un solo campo personalizado, en este caso carbohidratos: cargue el E0D6A60387EAE9C2883F3BA022FD8736
En el código anterior, el campo personalizado en sí ofrece el valor del elemento de entrada actual. El próximo campo personalizado se administrará con un par de botones de radio:
Se cargan los elementos esenciales de A1EA169D0334FD0DD8989ED4F42
Aquí las cosas se vuelven un poco complicadas. La función marcada compara las dos filas que transmitimos como argumentos. Si las cadenas tienen el mismo valor, la función establece el campo actual en verificación.
Finalmente, agregaremos un grupo de cuadros de selección al meta caja:

Cargue la idea 9551197C02F47BB9D0F11C660DBDB2EB
El valor del atributo de nombre corresponde al elemento de una pintura, y luego esto nos permitirá almacenar los datos de manera más eficiente. Ahora considere el primer argumento de la función de verificación:
La idea 1EE751C231AC0012FC61CE3D3AE66A2 está cargada.
Es un operador ternario quien verifica si el valor actual del cuadro de selección es el mismo que el valor $ current_vitamins. Si se verifica la condición, devuelva el mismo valor, de lo contrario devuelve una cadena vacía.
Ahora esa lógica debería ser clara; Podemos acortar el código con una matriz y un ciclo de foreach:
La idea de C759FE14A2F3E98BF97D5372C5C80D66 está cargada.
Y ahora podemos armar todo:
El DCBD25EF2AA7CF87C43B549DDBA75C86 esencial se carga
Y así es como se ve finalmente la caja de metal en la pantalla de edición de publicaciones con todos los campos de formulario:
Una caja de metal personalizada para el tipo de post -alimentar el cuadro de datos está listo, pero no es posible guardar los datos. Para realizar esta tarea, debemos definir una nueva función de llamada inversa para ser rescatada:
Cargue la idea 8061CA0065635BA9BBFB9EF1830AAAFD2
Save_post _ {$ post_type} se ejecuta cada vez que se guarda o actualiza un nuevo $ post_type. Ahora veamos qué está sucediendo dentro de la función. Primero, necesitamos verificar el valor del campo Nonce:

Cargue la idea eeebb0d04e3254d1451aa4ade36dfe23
Si el campo Nonce no está configurado o su valor es incorrecto o ha expirado, la ejecución se interrumpe (verifique el códice de WordPress para obtener más información sobre WP_VERIFY_NONCE). Si prefiere omitir la función en caso de ahorro automático, podemos agregar la siguiente condición:
Cargue la idea 099810F90D5BC72BA298CE4D34C4BDB9
Luego necesitamos verificar las capacidades del usuario:
Cargue los elementos esenciales de BA590C9025A88F8D9F22750A1ED9BD66
Finalmente, podemos almacenar datos:
La idea FDE3ED89F18AE6AADBEC51B525ACC58E está cargada
Si hay al menos un elemento de la matriz de ‘vitaminas’, la variable $ vitaminas almacenará los valores apropiados. Más tarde, PHP más tarde, la función PHP Array_Map aplica la función WordPress Sanitize_Text_Field en cada elemento Matrix. Finalmente, la función Update_Post_Meta almacena los valores publicados. Si no se ha marcado la casilla de verificación, la matriz, si no se ha marcado la casilla de verificación, el $ _post Y aquí está el código completo:
Cargue la idea 2849F9040B8688811C3B85555F80Ad64am reunió el código en un complemento, que puede descargar desde GitHub y probar en su propio sitio web o en localhost. Termine ahora que ha visto cómo funciona MetAbox personalizado, puede agregar cualquier tipo de formulario a la pantalla de edición posterior desde su sitio de WordPress Backp. HTML5 ha introducido una buena cantidad de tipos de introducción con la que podemos jugar, desde los campos hasta el selector de color. Incluso puede divertirse más con los instrumentos de interfaz de usuario de JQue o combinar datos de múltiples servicios web, como Google Maps, y almacenarlos como campos personalizados. El ejemplo en este tutorial es simplemente rascar la superficie de la forma en que puede personalizar la experiencia posterior a la edición. ¿Todavía ha agregado campos de formulario avanzados o controles de metabox personalizados? ¿Trabaja en un sitio web en este momento donde este tipo de funcionalidad sería útil? Cuéntanos en los comentarios a continuación si tiene preguntas sobre este tutorial o ideas sobre cómo lo extiende. Etiquetas:
Campos personalizados
cajas de metal personalizadas
Tipos de publicaciones personalizadas

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *