Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


Crear custom fields en WordPress y mostrar su contenido

Sencillo y rápido post para ver cómo crear custom fields en WordPress y mostrar su contenido en los PHP del theme.

Otros post interesantes son:

¿Qué son los custom fields en WordPress?

Tal y como indica el nombre son campos personalizados que podemos añadir a cada post o página de nuestra instalación de WordPress.

Estos campos personalizados también se conocen como metadata y se guardan en la tabla ‘wp_postmeta‘.

tabla postmeta wordpressEn la imagen superior vemos los 4 campos de la tabla, un id para la metadata, el id del post al que se le relacionará la metadata, un nombre para el custom field y su valor.

Podéis encontrar más info en su web oficial.

Cómo crear o definir los custom fields en WordPress

Es posible que no tengamos visibles los ‘campos personalizados’ a la hora de editar una página o post en WordPress, esta opción se activa en las opciones de pantalla de la parte superior del gestor:

opciones de pantalla en wordpressDespués en la parte inferior desplegamos la opción ‘campos personalizados‘:

custom fields en wordpressY nos encontramos con la opción de elegir un custom field o crear uno nuevo, si seleccionamos uno existente solo tenemos que meter su valor, en caso de crear uno nuevo deberemos meter su nombre y valor.

NOTA: Podemos dar de alta tantos custom fields con sus valores como necesitemos.

Ahora nos queda modificar los PHP del theme para mostrar su contenido.

Mostrar el contenido de un custom field en el theme

A continuación os muestro laas diferentes maneras y códigos necesarios para mostrar el campo personalizado en los ficheros PHP del theme.

Con get_post_meta() obtenemos el valor del campo personalizado, si pasamos el valor ‘true’ la función nos devolverá un valor, con ‘false’ devuelve un array.

En el ejemplo he usado la función empty() para saber si dicho campo contiene valor o no.

Con get_post_custom() se obienen todos los campos personalizados en un array multidimensional. Si se omite el id del post cogerá por defecto el del post actual.

En el ejemplo obtenemos todos los campos personalizados, después obtenermos otro array con los valores existentes para nuestro custom field (puede haber varios por post). Por último con foreach() recorremos el array mostrando los valores.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies