これは私が尋ねた別の質問と似ていますが、このクエリ文字列がどのように機能するのかわかりません。
"category_order"という名前のカスタムフィールドがあり、この順序で(日付ではなく)カテゴリページを並べ替えたいと思います。
これが私のコードです:
<?php wp_reset_query(); ?>
<div id="content">
<div id="postFuncs">
<div id="funcStyler"><a href="#" class="switch_thumb"></a></div>
<?php if (is_category()) {
$cat_ID = get_query_var('cat'); ?>
<?php echo '<h2>'; wpzoom_breadcrumbs(); echo'</h2>'; ?><?php }
elseif (!is_category() && !is_home()) { ?>
<?php echo '<h2>'; wpzoom_breadcrumbs(); echo'</h2>'; ?>
<?php }
else { ?>
<h2>Recent Videos</h2>
<?php } ?>
</div><!-- end #postFuncs -->
<div id="archive">
<?php if (have_posts()) : ?>
<ul class="posts posts-3 grid">
<?php
$i = 0;
while (have_posts()) : the_post();
$i++;
?>
query_posts
を追加したので、Wordpressに修正したクエリを実行するよう指示できます。$query_string
は現在のパラメータに追加させます。orderby, meta_key, order
では、結果をソートする方法を指示することでクエリを定義できます。
パラメータによる順序付けに関する詳細情報
<?php wp_reset_query(); ?>
<div id="content">
<div id="postFuncs">
<div id="funcStyler"><a href="#" class="switch_thumb"></a></div>
<?php if (is_category()) {
$cat_ID = get_query_var('cat'); ?>
<h2><?php wpzoom_breadcrumbs(); ?></h2>
<?php } elseif (!is_category() && !is_home()) { ?>
<h2><?php wpzoom_breadcrumbs(); ?></h2>
<?php } else { ?>
<h2>Recent Videos</h2>
<?php } ?>
</div><!-- end #postFuncs -->
<div id="archive">
<?php global $query_string;
query_posts( $query_string . '&orderby=meta_value_num&meta_key=your_custom_field"&order=ASC');
if (have_posts()) : ?>
<ul class="posts posts-3 grid">
<?php $i = 0;
while (have_posts()) : the_post();
$i++;
?>