Я пытаюсь запросить все сообщения в формате "цитата". Я добавил форматы сообщений в мои functions.php с
add_theme_support( 'post-formats', array( 'image', 'video', 'gallery', 'quote' ) );
Я выбрал «цитата» в качестве формата сообщения в админке. Последний пример в разделе Taxonomy_Parameters показывает, как отображать сообщения, имеющие формат «цитата», но когда я запускаю их в своей теме, сообщения не возвращаются. Вот код:
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'post-format',
'field' => 'slug',
'terms' => 'post-format-quote'
)
)
);
query_posts( $args );
Когда я просто запросить все сообщения и место
echo get_post_format();
в цикле он возвращает слово «кавычка» на внешнем интерфейсе. Кроме того, когда я var_dump () запрос, я не вижу ничего в массиве о формате пост.
Кто-нибудь знает, можно ли сделать запрос по почтовому формату? Если так, как?
РЕДАКТИРОВАТЬ - См. 5 комментариев под ответом Bainternet: Это код, найденный в index.php двадцатки темы новой установки, пытающейся вернуть кавычки форматного типа. Я возвращаю «нет» вместо «цитата». Можете ли вы увидеть что-нибудь, что я должен изменить.
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(); ?>
РЕДАКТИРОВАТЬ 2 - Похоже, что Кодекс WordPress теперь изменился, и часть параметров таксономии находится только в кеше Google.
РЕДАКТИРОВАТЬ 3 - ОКОНЧАТЕЛЬНЫЙ РАБОЧИЙ КОД
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => 'post-format-quote'
)
)
);
query_posts( $args );
Двадцать десять правок от первого правки будут ...
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(); ?>
в
tax_query
«терминах» принимает массив, поэтому вам нужно поместитьpost-format-quote
в массив, как это:источник