3

カスタム分類法の投稿タイトルのリストを特定の順序で表示したいと思います。順序を制御する最良の方法は、カスタムフィールドを追加し、そのカスタムフィールドで並べ替えることだと思いました。

私が抱えている問題は、Wordpressの組み込み機能を使用しようとしていて、並べ替え機能を追加する方法が見つからないことです。

私のシナリオは次のようになります呼び出し元のURLは...com/ taxonomy/termです

これにより、ファイル名がtaxonomy-taxonomyname-term.phpであるテンプレートが呼び出されます。

私のテンプレートは、このループを含むように名前が変更および編集されたindex.phpテンプレートです。

<?php if ( have_posts() ) : ?>

<?php twentyeleven_content_nav( 'nav-above' ); ?>
<ul>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute( array( 'before' => 'Permalink to: ', 'after' => '' ) ); ?>"><?php the_title(); ?></a></li>

<?php endwhile; ?>
</ul>
<?php twentyeleven_content_nav( 'nav-below' ); ?>

<?php else : ?> etc

タイトルのリストが表示されますが、タイトルの順序を制御する方法が見つかりません。

投稿のグループの順序を設定するために私が見た唯一の方法は、クエリで投稿の順序を定義することです。しかしもちろん、この場合、呼び出し元のURLを介して投稿が既にあるため、クエリはありません。

別のクエリを追加せずに並べ替え機能を追加する方法はありますか、またはクエリは必須です。

4

1 に答える 1

2

カスタムフィールドがmy_dateであるとします。このようなカスタムクエリを作成できます。

query_posts('meta_key=my_day&meta_compare=<=&meta_value=20&orderby=meta_value&order=DESC');

使用するには

<?php if ( have_posts() ) : ?>

<?php twentyeleven_content_nav( 'nav-above' ); ?>
<ul>
<?php /* Start the Loop */ 
  query_posts('meta_key=my_day&meta_compare=<=&meta_value=20&orderby=meta_value&order=DESC');
?>

<?php while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute( array( 'before' => 'Permalink to: ', 'after' => '' ) ); ?>"><?php the_title(); ?></a></li>

<?php endwhile; ?>
</ul>
<?php twentyeleven_content_nav( 'nav-below' ); ?>

<?php else : ?> etc

詳細についてはhttp://wpengineer.com/1915/sort-posts-custom-fields/

于 2012-08-16T06:54:52.250 に答える