问题描述
我的自定义’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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。