Tecnología y Coaching para Emprendedores

WordPress: Cómo Mostrar los Artículos mediante Custom Fields

wordpress

WordPress tiene la habilidad de permitir  asignar custom fields o campos personalizados a un artículo. Estos campos se guardan en un tipo de información conocida como metadatos (metadata en inglés) y contienen 2 parámetros: nombre (key) y valor (value).

Hay muchas aplicaciones de los campos personalizados o custom fields, así podemos, por ejemplo, definir un thumbnail (imagen en miniatura) específico para cada artículo, una imagen de título diferente, etc.

En este artículo lo que veremos es como mostrar en una página personalizada (page template) un listado de los artículos que contienen un mismo nombre y valor.

Primero de todo, tendremos que insertar un nombre y valor en los artículos específicos. Para ello, en el panel de edición de una nueva entrada, si no vemos la sección “campos personalizados” (o custom fields si la instalación es en inglés), debemos ir a Opciones de Pantalla -> Campos Personalizados y activar este campo:

Una vez hecho esto, veremos este panel:

 
Ahora creamos la página (page template) que contendrá los artículos de estos campos personalizados:

<?php
/*
Template Name: Articulos del Custom Field Z
*/
?>
<?php get_header(); ?>
        <div class="container">
            <div class="indent">
 
                <?php
 
                query_posts(array(
                   'meta_key' => 'el_nombre_de_tu_custom_field',
                   'meta_value' => 'el_valor_de_tu_custom_field'
            ));
 
                if ( have_posts() ) while ( have_posts() ) : the_post();

                            the_title();

                 endwhile;
 
                wp_reset_query(); ?>
 
            </div>
        </div>
<?php get_footer(); ?>

Hemos insertado la función query_posts() para que busque los artículos que contengan el nombre y valor del campo personalizado que deseamos:

        query_posts(array(
                'meta_key' => 'el_nombre_de_tu_custom_field',
                'meta_value' => 'el_valor_de_tu_custom_field'
            ));

Y seguidamente hemos hecho una llamada al loop de WordPress para que muestre los títulos de los artículos:

if ( have_posts() ) while ( have_posts() ) : the_post();
 
   the_title();
 
endwhile;

Una vez finalizado el loop, hemos finalizado la función query_posts():

 wp_reset_query(); ?>

para cualquier duda, sólo tenéis que contactarme. Espero os haya sido de utilidad.


Comentarios

  • Diseñador web

    Me ha encantado tu web amigo seguro que puedes ser de gran ayuda a mucha gente que esta empezando con esto del diseño web

    • Sandra

      muchas gracias, este es el objetivo, ayudar. Un saludo!

  • Ariel

    hola que tal necesito mostrar solo algunos campos generados mediante Custom Fields
    no todos
    de donde puedo sacar el nombre que va aca?
    ‘meta_key’ => ‘el_nombre_de_tu_custom_field’,
    ‘meta_value’ => ‘el_valor_de_tu_custom_field’
    saludos muchas gracias y gracias por compartir

    • Sandra

      Muy fácil. Vas a entrada nueva, arriba tienes un menú desplegable titulado “Opciones de pantalla”, activas “Campos personalizados” y allí ya te sale la opción debajo de la entrada para poner el nombre y el valor de tu custom field. Espero te sirva de ayuda, para cualquier otra consulta, no dudes en volver a dejar un mensaje. Un saludo!

  • Adrian

    Sabes por casualidad como hacer una búsqueda por dos custom fields dados? Quiero decir que se cumplan dos criterios de consulta de dos campos distintos.
    Algo como meta_key = usuario meta_value = Alfredo meta_key = lugar meta_value = Madrid.
    Y que me devuelva solo los resultados que cumplan con los dos criterios, no con uno de los dos…
    Me seria de una gran ayuda, si pudieses indicarme como hacerlo te estaría profundamente agradecido…

    Un saludo y mi gratitud por adelantado.