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 回答