通过自定义字段对具有特定分类/值的帖子页面进行重新排序

时间:2021-09-16 作者:Ralpharama

我想通过添加的高级自定义字段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查询?如何检查此值?在这一点上如何改变顺序?

1 个回复
SO网友:Ralpharama

嗯,我就是这样做的。也许这会帮助别人。

add_filter( \'pre_get_posts\', function () {
  global $wp_query;

  // article type - change posts per page. If webinars then change order to webinar_date
  if ( isset( $wp_query->query[\'article_type\'] ) ) {
    set_query_var( \'posts_per_page\', 12 );
    if ( $wp_query->is_tax(\'article_type\', \'webinar\') ) {
      $wp_query->set( \'meta_key\', \'webinar_date\' );
      $wp_query->set( \'orderby\', \'meta_value\' );
      $wp_query->set( \'order\', \'DESC\' );
    }
  }
} );

相关推荐

WordPress Shorcode显示层次分类[子项,父项]

在wordpress中显示分类法的父级时,我有一个小问题。(CPT=property and tax = property_city)我做了一些研究,想知道该怎么办。但我不太明白如何显示它们。我给你举个例子,你会很快明白的。what I have (not actual shortcode or any code! Just dynamic tag term showing taxonomy without parent)what I want to do理想的做法是在短代码中显示它们,所以我会在需要的地