the_archive_title에서 "Category :", "Tag :", "Author :"를 제거하십시오.


49

내 테마의 archive.php에 다음 코드가 있습니다.

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

"Category : Russia", "Tag : America", "Author : John"과 같은 제목이 있습니다.

"Category :", "Tag :"및 "Author :"부분을 제거하고 범주, 태그 및 작성자 이름 만 표시하고 싶습니다.

누구든지 이것을 달성하는 방법을 알고 있습니까?

감사합니다.

답변:


77

이 답변 에서 언급 한 get_the_archive_title필터 를 확장 할 수 있습니다

add_filter( 'get_the_archive_title', function ($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>' ;

        }

    return $title;

});

2
작동합니다! 고마워, 피터! 기술에 익숙하지 않은 사용자가 동일한 솔루션을 찾고있는 경우 : Pieter의 코드를 functions.php 파일에 추가하면됩니다.
Nick

테마 업데이트시 변경 사항이 손실되지 않도록 하위 테마에서이 작업을 수행하십시오.
위르겐 폴

1
이것은 잘 작동하지만 아카이브 및 사용자 정의 분류법의 경우가 누락되었습니다.
JacobTheDev

모든 포스트 형식 보관소 및 분류 체계에 대한 Ben Gillbanks의 솔루션 을 참조하십시오 .
Dan Knauss

25

기능 사용 single_term_title()


WP에서 여러 가지 방법으로 작업을 수행 할 수 있지만 항상 가장 간단한 솔루션을 선택했습니다. 감사합니다 Timo.
f055

1
용어가 아닌 모든 아카이브에는 적용되지 않습니다. 제 생각에는 좋은 해결책이 아닙니다.
GDY

9

CPT 제목의 경우 단어없이 : '아카이브':

CPT에 대한 사용자 정의 아카이브 템플리트를 빌드하고“아카이브”와 같은 추가 단어없이 CPT의 제목 만 출력하려면 다음 기능을 대신 사용하십시오.

echo post_type_archive_title( '', false );

에서 developer.wordpress.org


5

나는 이것이 단순화 된 일이라고 생각하지만 이것이 내가 한 일입니다 ...

<h1><?php echo str_replace("Archives: ", "", get_the_archive_title()); ?></h1>

1
영어 이외의 웹 사이트에서는 작동하지 않습니다.
Maxwell sc

2

echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>'; 테마 외부의 taxonomy-category.php에 있습니다.


1

필터를 사용하여 파일 functions.php에 넣습니다.

add_filter( 'get_the_archive_title', 'replaceCategoryName'); 
   function replaceCategoryName ($title) {

   $title =  single_cat_title( '', false );
   return $title; 
}

0

형식이 항상 다음 Prefix: Archive Name같다고 가정하면 : 첫 번째 콜론과 공백이 있고 get_the_archive_title () 과 PHP의 substr ()strpos () 함수를 사용하여 뒤에 내용 만 표시 할 수 있습니다.

<?php // Only show the portion of the string following the first ": "
  echo substr(get_the_archive_title(), strpos(get_the_archive_title(), ': ') + 2);
?>

-2

다음을 사용하면 접두사가없는 제목 만 가질 수 있습니다

single_cat_title();

2
사실이지만 이것은 다른 답변에서 이전에 제안되었습니다.
Nicolai

-4

예배 규칙서: wp-includes

파일: general-template.php

기능 찾기 : get_the_archive_title() 변경 :

if ( is_category() ) {
        $title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        $title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        $title = sprintf( __( 'Autor: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    }

에:

if ( is_category() ) {
        $title = sprintf( __( '%s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        $title = sprintf( __( '%s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        $title = sprintf( __( '%s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    }//if you want to remove or just change text if you need to

3
Err, 여기서 핵심 해킹을 제안하고 있습니까?
cjbj

3
이것은 매우 나쁜 생각입니다. 별도의 분기를 만들지 않으면 지금 업데이트 할 수 없습니다.
fuxia

내가 역할을 어기면 간절히 말하지만, 이것은 악의가없는 또 다른 해결책 일뿐입니다. 내 사이트를 해킹하거나 핵심 파일의 코드를 공유 할 수 없다고 말했습니까?
Dragan Nikolic

글쎄, 그것은 귀하의 웹 사이트이며 핵심 파일조차도 원하는대로 편집 할 수 있습니다. 그러나 Wordpress를 업데이트하면 웹이 중단됩니다.
Raccoon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.