Estou tentando consultar todas as postagens com um formato de 'citação'. Adicionei os formatos de postagem às minhas funções.php com
add_theme_support( 'post-formats', array( 'image', 'video', 'gallery', 'quote' ) );
Eu selecionei 'quote' como o formato da postagem no administrador. O último exemplo em Taxonomy_Parameters mostra como exibir postagens que têm o formato 'quote', mas quando eu o executo no meu tema, nenhuma postagem é retornada. Aqui está o código:
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'post-format',
'field' => 'slug',
'terms' => 'post-format-quote'
)
)
);
query_posts( $args );
Quando eu apenas consulta todas as postagens e coloco
echo get_post_format();
no loop, ele retorna a palavra 'quote' no front-end. Além disso, quando var_dump () a consulta não vejo nada na matriz sobre o formato de postagem.
Alguém sabe se é possível consultar por formato de postagem? Se sim, como?
EDIT - Veja 5 comentários na resposta de Bainternet: Este é o código encontrado no index.php do tema twentyten de uma nova instalação tentando retornar aspas de tipo de formato. Retorno 'no' em vez de 'quote'. Você pode ver qualquer coisa que eu deva mudar.
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php $args = array(
'tax_query' => array(
array(
'taxonomy' => 'post-format',
'field' => 'slug',
'terms' => array('quote')
)
)
);
query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();
echo get_post_format();
endwhile; else:
echo 'no';
endif;
wp_reset_query();
?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
EDIÇÃO 2 - Parece que o Codex do WordPress foi alterado e a parte em Parâmetros de taxonomia é encontrada apenas no cache do Google.
EDIT 3 - CÓDIGO FINAL DE TRABALHO
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-quote'
)
)
);
query_posts( $args );
A edição de vinte e dez da primeira edição será ...
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php $args = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-quote'
)
)
);
query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();
the_title();
echo get_post_format();
echo '<br />';
endwhile; else:
echo 'no';
endif;
wp_reset_query();
?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
em
tax_query
"termos" aceita matriz, então você precisa colocarpost-format-quote
uma matriz como esta:fonte