我正在尝试为自定义分类设置模板页面的格式,但很难在查询中使用当前页面的术语。这就是我迄今为止所尝试的:
<?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()
?
最合适的回答,由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。