2012-08-16 108 views
2

我想顯示一個特定順序的自定義分類標題的列表標題。 我認爲控制訂單的最佳方法是添加自定義字段並對該自定義字段進行排序。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的帖子。

有什麼方法可以添加排序功能而無需添加其他查詢或者查詢是強制性的。

回答

1

假設您的自定義字段是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

相關問題