获取要在WP_Query中使用的当前页面术语标题

时间:2013-07-11 作者:mantis

我正在尝试为自定义分类设置模板页面的格式,但很难在查询中使用当前页面的术语。这就是我迄今为止所尝试的:

<?php       
        $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
        $report = single_term_title();
        $report_type = strtolower($report);
        $temp = $wp_query; 
        $wp_query = null; 
        $args = array(
          \'showposts\'=> 5,
          \'orderby\'  => \'meta_value\',
          \'meta_key\' => \'report_date\',
          \'order\' => \'DESC\',        
          \'post_type\'=> \'match_report\',
          \'report_type\' => $report_type,
          \'paged\'    => $paged
        );
        $wp_query = new WP_Query(); 

        $wp_query->query($args);            
        if ( $wp_query->have_posts() ) :
        ?> 
当我echo $report_type 我仍然得到一个大写值。我是否应该使用其他函数而不是single_term_title()?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

做什么single_term_title does 并使用get_queried_object.

function single_tax_slug() {
  $term = get_queried_object();

  if ( !$term )
    return;

  if ( is_category() ) {
    $term_slug = $term->slug;
  } elseif ( is_tag() ) {
    $term_slug = $term->slug;
  } elseif ( is_tax() ) {
    $term_slug = $term->slug;
  }

  return $term_slug;
}
$slug = single_tax_slug();
var_dump($slug);
如果您查看该代码,它基本上是single_term_title, 大大简化了,并进行了修改以获得slug。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post