我想为不同类型的存档页面显示自定义字幕。我可以很容易地知道我所处的归档页面的类型(日期、类别等),但我在网上找不到任何信息可以告诉我如何获取每种特定归档页面类型的有意义信息。
我有以下功能:
function get_the_subtitle() {
global $post;
$subtitle = \'\';
if (is_archive()) {
$subtitle = \'Blog posts for \';
}
if (is_date()) {
$subtitle .= \'2012/03\'; // Real archive date here of current page
} else if (is_category()) {
$subtitle .= \'Uncategorized\'; // Real archive category here of current page
} else if (is_author()) {
$subtitle .= \'admin\'; // Real archive author here of current page
} else if (is_tag()) {
$subtitle .= \'tag\'; // Real archive tag here of current page
}
return $subtitle;
}
有人能告诉我如何轻松地为特定的归档页面创建不同的字幕吗?用创建值的方法填充此函数将非常有益。
最合适的回答,由SO网友:mor7ifer 整理而成
使用single_cat_title()
功能,而不管它是什么类型的存档?例如:
function get_the_subtitle() {
if( is_archive() ) {
$subtitle = \'Blog posts for \';
}
if( is_category() || is_tag() ) {
$subtitle .= single_cat_title( \'\', false );
}
if( is_author() ) {
$curauth = ( get_query_var( \'author_name\' ) ) ?
get_user_by( \'slug\', get_query_var( \'author_name\' ) ) :
get_userdata( get_query_var( \'author\' ) );
// you can set this to many things, see the get_userdata() docs for a list
$subtitle .= $curauth->user_nicename;
}
if( is_date() ) {
$month = get_query_var(\'monthnum\')
$day = get_query_var(\'day\')
$year = get_query_var(\'year\')
$string = \'\';
$string .= ( !empty( $day ) ) ? $day : \'\';
$string .= ( !empty( $string ) ) ? \'/\' : \'\';
$string .= ( !empty( $month ) ) ? $month : \'\';
$string .= ( !empty( $string ) ) ? \'/\' : \'\';
$string .= ( !empty( $year ) ) ? $year : \'\';
$subtitle .= $string;
}
if( !empty( $subtitle ) ) {
return $subtitle;
} else {
return false;
}
}