問題描述
我的自定義’Home’ 頁面設置為通過自定義日期字段排序我的自定義帖子 (更新為自定義命名) 的 functions.php 代碼:
// sort order for home page
add_action('wp', 'wwgo_check_page');
function wwgo_check_page () {
if (is_page()) {
add_filter('get_previous_post_sort', 'sort_it');
add_filter('get_next_post_sort', 'sort_it');
add_filter('posts_orderby', 'sort_it' );
add_filter('posts_join', 'join_it' );
add_filter('posts_where', 'where_it' );
function sort_it () {
global $wpdb;
return " $wpdb->postmeta.meta_value ASC ";
}
function join_it( $join ) {
global $wpdb;
$join .= " LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id) ";
return $join;
}
function where_it( $where ) {
global $wpdb;
$where .= "AND $wpdb->postmeta.meta_key = 'deadline' ";
return $where;
}
}
}
哪個是花花公子和簡單。現在。我希望這能在整個網站上工作。我想要在歸檔頁面,類別等上的帖子按照自定義日期字段排序。
有任何想法嗎?
我已經嘗試將 「if」 更改為 is_archive(),但沒有任何效果。我也試過<! is_single()> 。
我確定應該是簡單的東西。但我是新來的 php,因此無知。
這裏是 site,您可以在其中看到主頁很好地排序,但是如果您單擊’poetry'(唯一一個有幾個帖子),則排序不起作用。
任何建議將得到很多的歡樂。
非常感謝你。
最佳解決方案
如果 orderby 未在查詢字符串中顯示,請使用 query_vars 或 request 過濾器添加 orderby
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。