我想通过添加的高级自定义字段PRO字段,而不是默认字段(按发布日期排序),对具有特定分类法/价值的文章页面进行重新排序。
我们有一个带有自定义分类法的WP站点,像这样添加到分类法中。php文件:
$args = array(
\'hierarchical\' => false,
\'labels\' => $labels,
\'public\' => true,
\'show_admin_column\' => true,
\'rewrite\' => array( \'slug\' => __( \'article-type\', \'sage\' ) ),
);
register_taxonomy( \'article_type\', array( \'post\' ), $args );
文章类型由wp admin/edit tags中的标记设置。php?分类法=article\\u typee。g。
Name: Webinars, Slug: webinar
Name: Case Studies, Slug: case-studies
Name: Opinion, Slug: opinion
因此,我们可以显示具有特定分类法/值的帖子列表,如下所示:
https://mywebsite.co.uk/article-type/webinar/
https://mywebsite.co.uk/article-type/case-studies/
https://mywebsite.co.uk/article-type/opinion/
这很好,但我们需要显示由自定义字段“webinar\\u date”排序的网络研讨会内容,而不是发布时间。
在Advanced Custom Fields PRO中添加了网络研讨会日期,如下所示:
Order: 1
Label: Webinar date
Name: webinar_date
Type: Date Time Picker
我对WP开发还很陌生,所以我不知道该怎么做!
我想知道我是否应该添加这样的操作
add_action(\'pre_get_posts\',\'reorder_webinars\');
该函数检查项目是否与正确的分类法和值匹配,然后对结果进行重新排序,但我真的不知道该怎么做。
如果有必要的话,这是一个基于基岩/圣人的遗址。
谢谢你的帮助。
[编辑]
现在已经有了这段代码,我想知道是否可以添加到这段代码中?
add_filter( \'pre_get_posts\', function () {
global $wp_query;
// article type
if ( isset( $wp_query->query[\'article_type\'] ) ) {
set_query_var( \'posts_per_page\', 12 );
}
} );
因此,在检查文章类型时,我可以检查“article\\u type”的“type”是否为“webinar”,然后更改$wp\\u查询?如何检查此值?在这一点上如何改变顺序?