問題描述

我的自定義’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_varsrequest 過濾器添加 orderby

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。