Cómo crear un campo personalizado de WordPress programáticamente
Publicado: 2022-01-20¿Quieres crear un campo personalizado de WordPress mediante programación ? En caso afirmativo, tenemos la guía perfecta para usted con algunas opciones adicionales más.
Hay muchas razones por las que WordPress es el CMS más popular en todo el mundo. Pero uno de los más relevantes es ser altamente personalizable. Puede personalizar muchos elementos de un sitio web de WordPress, de los cuales los campos personalizados también son uno de ellos. WordPress tiene tantas funciones personalizables adicionales para ellos que incluso puede agregar los campos personalizados mediante programación en su sitio web.
¿Qué son los campos personalizados?
Un campo personalizado se adjunta a una publicación o página y almacena información adicional para usar en un sitio web. También puede estar relacionado con cualquier tipo de publicación. Por lo tanto, puede recopilar información relacionada con productos, comentarios o incluso tipos de publicaciones personalizadas.
Se almacenan en la base de datos de su sitio web de WordPress en la tabla wp_postmeta . Contiene los parámetros meta_id, post_id, meta_key y meta_value.
Además, también puede almacenar cualquier tipo de datos en el campo personalizado. Incluso pueden ser utilizados por usuarios de frontend y backend, o también por algún otro script PHP.
¿Por qué crear un campo personalizado en WordPress?
Los campos personalizados se pueden utilizar para lograr una amplia gama de requisitos. Siempre que necesite agregar alguna información adicional relacionada con una publicación, un campo personalizado puede ser muy útil.
Sin embargo, los desarrolladores utilizan principalmente los campos personalizados para agregar nuevas funciones a sus sitios web. Una de sus aplicaciones más útiles es utilizarlos en el frontend para que los usuarios puedan rellenar un formulario .
Pero aquí hay algunos ejemplos más donde se puede usar un campo personalizado:
- Adjunte un "estado de ánimo" a las publicaciones, en las que desee revelar cómo se sentía cuando las estaba escribiendo.
- Informe a los usuarios si se sugiere una publicación para algún rango de edad específico.
- Almacena el tiempo necesario para leer una publicación.
- Dar una puntuación de un producto o publicación.
- Un dato de referencia que activará algún script cuando esté presente.
Aparte de esto, los temas y complementos generalmente usan campos personalizados para asignar funciones especiales a publicaciones o páginas específicas. Del mismo modo, también es una práctica común usar campos personalizados en las interfaces de usuario , tanto en el frontend como en el backend.
Ahora que está familiarizado con la importancia de los campos personalizados en WordPress, veamos cómo podemos agregarlos.
¿Cómo agregar campos personalizados en WordPress?
De forma predeterminada, puede agregar un campo personalizado a cualquier publicación mientras la edita en el editor. Todo lo que necesita hacer es habilitarlo en la pestaña Opciones de página y desplazarse hacia abajo para encontrar el cuadro meta del campo personalizado.
Simplemente haga clic en "Agregar campo personalizado" e inserte el nombre y el valor para crear un campo personalizado manualmente.
Pero si estás aquí, seguramente estás buscando una forma de crear el campo personalizado de WordPress mediante programación . Entonces, sigamos adelante y sumerjámonos en ello.
¿Cómo crear un campo personalizado de WordPress programáticamente?
Puede crear fácilmente un campo personalizado en WordPress mediante programación si tiene conocimientos técnicos básicos en programación.
Pero antes de comenzar, asegúrese de hacer una copia de seguridad de su sitio web y crear un tema secundario mediante programación o usar uno de los complementos de temas secundarios. Modificaremos los archivos delicados de su sitio web y estos cambios también podrían borrarse cuando actualice su tema de WordPress. Sin embargo, si usa un tema secundario, las personalizaciones en estos archivos no se verán afectadas incluso después de actualizar su tema de WordPress.
Si no se siente cómodo cambiando los archivos de tema directamente por su cuenta, también puede usar complementos como Code Snippets. No obstante, usaremos el tema hijo en este tutorial porque es más fácil para nosotros.
1. Acceso al archivo de tema functions.php
Después de crear un tema secundario, puede comenzar a agregar fragmentos de código en su archivo de tema function.php para crear los campos personalizados. Simplemente vaya a Apariencia> Editor de temas y abra el archivo functions.php desde su panel de WordPress. Luego, agregue los fragmentos de código en la parte inferior de este editor y actualice el archivo .
Hemos utilizado el tema Divi para este tutorial. Pero el editor de temas puede aparecer diferente en su sitio web según el tema que utilice.
2. Agregue fragmentos de código al editor de temas
La función add_post_meta()
es la que usaremos. Toma tres parámetros: id de publicación o página, nombre del campo personalizado y su valor. Se puede usar un cuarto parámetro opcional para verificar si el campo personalizado ya existe.
Entonces, agregar un campo personalizado es tan simple como agregar la siguiente línea al archivo function.php
del tema secundario.
add_post_meta(460, "nombre_del_campo_personalizado", "valor", verdadero);
Esto agregará un campo personalizado a la publicación con la identificación 460.
Hemos llamado al campo personalizado simplemente "custom_field_name" para esta demostración. Pero también puede asignar una cadena como valor (valor) y establecer el parámetro opcional en verdadero para crearlo solo si aún no existe.
Por supuesto, este es el estado más simple de un script para agregar un campo personalizado a una publicación específica. No es eficiente en absoluto porque funcionará en cada carga de página simultáneamente verificando si el campo personalizado existe inútilmente.
Afortunadamente, podemos mejorarlo mucho más, para lograr una solución aceptable. El publish_post()
será muy útil en este caso porque solo se activa cuando se publica una publicación .
add_action('publish_post', 'add_custom_field_automatically'); función add_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'meta_field', '55', verdadero); } }
Debido a que estamos usando la variable global $post_ID
, esto se aplicará a todas las publicaciones recién publicadas .
Actualizar un campo personalizado en WordPress
Cuando crea un campo personalizado en WordPress mediante programación, también puede actualizarlo si lo desea con un fragmento de código similar.
Para actualizar un campo personalizado, se puede usar la función update_post_meta()
. También usaremos el mismo gancho que el script anterior, ya que también funciona cuando actualizas una publicación. Simplemente agregue el siguiente fragmento de código al archivo functions.php de su sitio web.
add_action('publish_post', 'update_custom_field_automatically'); función actualizar_campo_personalizado_automáticamente ($post_ID) { if(!wp_is_post_revision($post_ID)) { update_post_meta($post_ID, 'meta_field', 20); } }
Esto cambiará el valor del campo personalizado creado previamente de 55 a 20.
update_post_meta()
también funciona como la función add_post_meta()
. Puede crear un nuevo campo personalizado si no existe también.
Eliminar campos personalizados en WordPress
El uso de fragmentos de código no se limita solo a crear y actualizar los campos personalizados en WordPress. Después de crear un campo personalizado de WordPress mediante programación, puede haber algunas situaciones en las que también desee eliminarlos.
La función que nos permitirá eliminar todos los campos personalizados con un nombre dado (clave) es delete_post_meta_by_key(”meta_field”);
Solo toma el nombre del campo personalizado como su parámetro único.
Como ya comentamos, la forma correcta de hacerlo es usando un gancho. Esta vez, usaremos el gancho init()
que se usa principalmente para inicializar complementos y temas. Nuevamente, agregue los siguientes fragmentos al archivo functions.php.
add_action('init', 'remove_custom_field_automatically'); función remove_custom_field_automatically() { delete_post_meta_by_key('meta_field'); }
Para eliminar campos personalizados en publicaciones específicas, puede usar la función delete_post_meta()
. También se puede utilizar si se asigna un valor específico al campo personalizado.
Este funciona de manera similar en comparación con el fragmento anterior. Pero proporciona más flexibilidad para apuntar a la eliminación de campos personalizados específicos .
add_action('publish_post', 'delete_custom_field_automatically'); función delete_custom_field_automatically($post_ID) { if(!wp_is_post_revision($post_ID)) { delete_post_meta($post_ID, 'meta_field'); } }
Este script eliminará el campo personalizado llamado "custom_field" de la publicación actual, que viene dado por la variable $post_ID
.
También puede eliminar un campo personalizado solo si se le adjunta un valor específico. Simplemente agréguelo como el tercer parámetro.
delete_post_meta($post_ID, 'meta_field','20');
¡Eso es! Puede crear, actualizar o eliminar un campo personalizado en WordPress mediante programación ahora. Simplemente modifique estos fragmentos de acuerdo con su sitio web y podrá modificarlos aún más.
Conclusión
Este es nuestro tutorial para crear un campo personalizado en WordPress mediante programación . Pueden ser muy útiles si desea proporcionar a sus usuarios información adicional en su sitio web.
Para resumir, le mostramos los fragmentos de código para crear campos personalizados en WordPress. Del mismo modo, también le proporcionamos algunos fragmentos más para actualizar y eliminar los campos personalizados. Pueden ser útiles en ciertas circunstancias dependiendo de la necesidad de su sitio web.
Los campos personalizados son una de las mejores características de WordPress y también se usan ampliamente en WooCommerce. Incluso tenemos guías para agregar campos personalizados en el pago de WooCommerce y reordenar los campos de pago de WooCommerce. Si desea obtener más información sobre otras personalizaciones en WordPress y WooCommerce, no dude en consultar las siguientes publicaciones:
- Cómo crear un tipo de publicación personalizada de WordPress
- Personalizar la página de inicio de sesión de WordPress
- Cómo personalizar productos relacionados con WooCommerce
Entonces, ¿puedes crear los campos personalizados en WordPress mediante programación ahora? ¿Los has creado antes? Háganos saber en los comentarios.