1 回答

TA貢獻1865條經驗 獲得超7個贊
將您的自定義替換為以下內容:WP_Query
set_query_var( 'orderby', 'meta_value' );
set_query_var( 'orderby', 'DESC' );
set_query_var( 'meta_key', 'book_release_date' );
set_query_var( 'meta_type', 'NUMERIC' );
聽起來您有一個按類別等過濾的書籍的工作列表,現在您正在嘗試進入該列表以添加.如果是這樣,那么我看到一個問題:你發布的代碼會失去過濾,因為你創建了一個全新的帖子循環。wp_reset_query恢復了過濾后的后循環,這一事實使我相信,我們可以簡單地通過set_query_var修改此現有查詢,而不是創建一個新的。orderbyWP_Query
獎勵:如果您在使用,請執行以下操作:pre_get_postsfunctions.php
function wpse139657_orderby($query){
// Uncomment this if() statement once you confirm that the orderby works
//if (is_admin() || $query->query_vars['post_type'] != 'book') return $query;
$query->set( 'orderby', 'meta_value' );
$query->set( 'order', 'DESC' );
$query->set( 'meta_key', 'book_release_date' );
$query->set( 'meta_type', 'NUMERIC' );
return $query;
}
add_filter('pre_get_posts','wpse139657_orderby');
- 1 回答
- 0 關注
- 93 瀏覽
添加回答
舉報