Cómo ver todos los custom fields asignados a un post

En varias ocasiones he necesitado ver los custom fields almacenados en la base de datos relativos a un post en concreto. Esto es posible verlo en la base de datos, filtrando la tabla wp_post_meta por el ID de post correspondiente.

Sin embargo, he preparado un código que permite verlo directamente desde el back de WordPress al editar un post, cosa que lo hace mucho más práctico. Aquí va el código en cuestión:


function add_cfs_metabox() {
	add_meta_box(
		'add_cfs_metabox_content',
		'Custom Fields used',
		'add_cfs_metabox_content',
		'post',
		'side',
		'default'
	);
}
add_action( 'add_meta_boxes', 'add_cfs_metabox' );

function add_cfs_metabox_content(){
    global $post;
    $myvals = get_post_meta($post->ID);
    foreach($myvals as $key=>$val){
        echo $key . ' : ' . $val[0] . '<br/>';
    }
}

En el caso que el post type no sea «post» sino otro de custom, podéis cambiar el cuarto parámetro «post» por lo que sea.

El resultado en el back, se ve así:

Si queréis que solo salgan los nombres de los custom fields y que no salgan los privados (que con el plugin ACF básicamente la lista se duplica) podéis usar este código para la segunda función:

function add_cfs_metabox_content(){
    global $post;
    $myvals = get_post_meta($post->ID);
    foreach($myvals as $key=>$val)
    {
        if($key[0] != '_') echo $key.'<br/>';
    }
}

De esta forma, el resultado queda así:

¡Espero que os sirva de ayuda!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.