不同类型档案的档案字幕

时间:2012-03-17 作者:Stephen Watkins

我想为不同类型的存档页面显示自定义字幕。我可以很容易地知道我所处的归档页面的类型(日期、类别等),但我在网上找不到任何信息可以告诉我如何获取每种特定归档页面类型的有意义信息。

我有以下功能:

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;
}
有人能告诉我如何轻松地为特定的归档页面创建不同的字幕吗?用创建值的方法填充此函数将非常有益。

1 个回复
最合适的回答,由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;
    }
}

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register