WordPress的:如何排序自定义字段上的帖子

问题描述:

我想显示一个特定顺序的自定义分类标题的列表标题。 我认为控制订单的最佳方法是添加自定义字段并对该自定义字段进行排序。WordPress的:如何排序自定义字段上的帖子

我遇到的问题是我试图使用Wordpress的内置功能,我找不到添加排序功能的方法。

我的情况是这样的 主叫网址是... COM /分类/学期

这需要一个模板,文件名,其中是分类学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的帖子。

有什么方法可以添加排序功能而无需添加其他查询或者查询是强制性的。

假设您的自定义字段是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/

+0

难道我假设你并不需要一个“wp_reset_query()”,因为你已经创建了一个自定义的搜索? – dorich 2012-08-16 19:03:44