立即注冊 找回密碼

QQ登錄

只需一步,快速開始

WordPress 移除歸檔頁面的“分類:”,即自定義the_archive_title輸出的方法

2019-10-25 12:01| 發(fā)布者: 攝影大咖| 查看: 905| 評論: 0

摘要: 今天有朋友問了一個問題,如何移除歸檔頁面分類或標簽名稱前面的“分類:”和“標簽:”,如下圖:首先,我們要先了解這兩個字是通過什么函數(shù)調(diào)用出來的,在比較正規(guī)的主題中,一般會用以下代碼在歸檔頁面輸入標題: ...

今天有朋友問了一個問題,如何移除歸檔頁面分類或標簽名稱前面的“分類:”和“標簽:”,如下圖:

首先,我們要先了解這兩個字是通過什么函數(shù)調(diào)用出來的,在比較正規(guī)的主題中,一般會用以下代碼在歸檔頁面輸入標題

<?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?>

而這個 the_archive_title() 函數(shù)的代碼為:

function the_archive_title( $before = '', $after = '' ) {
    $title = get_the_archive_title();
 
    if ( ! empty( $title ) ) {
        echo $before . $title . $after;
    }
}
可以看到,調(diào)用的是  get_the_archive_title() 的內(nèi)容,我們再來看看這個  get_the_archive_title() 的代碼:
function get_the_archive_title() {
    if ( is_category() ) {
        /* translators: Category archive title. %s: Category name */
        $title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        /* translators: Tag archive title. %s: Tag name */
        $title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        /* translators: Author archive title. %s: Author name */
        $title = sprintf( __( 'Author: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    } elseif ( is_year() ) {
        /* translators: Yearly archive title. %s: Year */
        $title = sprintf( __( 'Year: %s' ), get_the_date( _x( 'Y', 'yearly archives date format' ) ) );
    } elseif ( is_month() ) {
        /* translators: Monthly archive title. %s: Month name and year */
        $title = sprintf( __( 'Month: %s' ), get_the_date( _x( 'F Y', 'monthly archives date format' ) ) );
    } elseif ( is_day() ) {
        /* translators: Daily archive title. %s: Date */
        $title = sprintf( __( 'Day: %s' ), get_the_date( _x( 'F j, Y', 'daily archives date format' ) ) );
    } elseif ( is_tax( 'post_format' ) ) {
        if ( is_tax( 'post_format', 'post-format-aside' ) ) {
            $title = _x( 'Asides', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) {
            $title = _x( 'Galleries', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
            $title = _x( 'Images', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
            $title = _x( 'Videos', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
            $title = _x( 'Quotes', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
            $title = _x( 'Links', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
            $title = _x( 'Statuses', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
            $title = _x( 'Audio', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-chat' ) ) {
            $title = _x( 'Chats', 'post format archive title' );
        }
    } elseif ( is_post_type_archive() ) {
        /* translators: Post type archive title. %s: Post type name */
        $title = sprintf( __( 'Archives: %s' ), post_type_archive_title( '', false ) );
    } elseif ( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        /* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
        $title = sprintf( __( '%1$s: %2$s' ), $tax->labels->singular_name, single_term_title( '', false ) );
    } else {
        $title = __( 'Archives' );
    }
 
    /**
     * Filters the archive title.
     *
     * @since 4.1.0
     *
     * @param string $title Archive title to be displayed.
     */
    return apply_filters( 'get_the_archive_title', $title );
}
好長一段代碼,注意看倒數(shù)第二行代碼為:
return apply_filters( 'get_the_archive_title', $title );

此處應用了一個過濾鉤子,也就是我們可以通過這個鉤子修改 get_the_archive_title() 的內(nèi)容,從而實現(xiàn)修改 the_archive_title() 輸出的內(nèi)容。

要實現(xiàn)剛才我們說的去掉歸檔頁面的 “分類:”和“標簽:”,可以使用下面的代碼:

function my_theme_archive_title( $title ) {
    if ( is_category() ) {
        $title = single_cat_title( '', false );
    } elseif ( is_tag() ) {
        $title = single_tag_title( '', false );
    } elseif ( is_author() ) {
        $title = '<span class="vcard">' . get_the_author() . '</span>';
    } elseif ( is_post_type_archive() ) {
        $title = post_type_archive_title( '', false );
    } elseif ( is_tax() ) {
        $title = single_term_title( '', false );
    }
 
    return $title;
}
 
add_filter( 'get_the_archive_title', 'my_theme_archive_title' );
將該代碼添加到當前使用的主題的 functions.php 文件即可。這樣就可以了,是不是非常簡單


鮮花

握手

雷人

路過

雞蛋

最新評論

!jz_fbzt! !jz_lxwm! !jz_gfqqq!

關于我們|手機版|小黑屋|地圖|【道勤網(wǎng)】-bmrsportswear.com 軟件視頻自學教程|免費教程|自學電腦|3D教程|平面教程|影視動畫教程|辦公教程|機械設計教程|網(wǎng)站設計教程【道勤網(wǎng)】 ( 皖ICP備15000319號-1 )

GMT+8, 2024-10-23 11:31

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

返回頂部