Listar posts que tenham um campo personalizado (Custom Field) com um determinado valor
Postado em 4 de maio de 2011 por Henderson | Categorias: Campos Personalizados, Custom Post Types, Loop no Wordpress | Tags: campo personalizado, Custom Field, Custom fields | 1 Comentário » | Comentar
Basta mudar criar uma query usando o comando meta_key que vai receber o nome do campo personalizado (Custom Field) e o comando meta_value que vai receber o valor do campo personalizado. No exemplo abaixo coloque a query antes do loop do WordPress para que seja lsitado somente posts que tiver o valor “sim” determinado para o custom post “destaque”:
<?php query_posts('meta_key=destaque&meta_value=sim'); ?>
Abaixo um exemplo de como fazer um loop do WordPress exibir os posts de um custom post type de nome imprensa que tenham um campo personalizado (Custom Field) chamdo pagina_inicial com o valor igual a sim:
<ul> <?php $sql="SELECT * FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id WHERE post_type ='imprensa' AND post_status = 'publish' AND wp_postmeta.meta_key = 'pagina_inicial' AND wp_postmeta.meta_value = 'sim' ORDER BY wp_posts.post_date DESC"; $results = $wpdb->get_results($sql); foreach ($results as $r) { $cont1++; if($cont1<4){ echo '<li><a href="' . $r->guid . '" title="' . $r->post_title . '"> ' . $r->post_title .'</a></li>'; } } ?> </ul>