“Category:”, “Tag:”, “Author:” öğesini the_archive_title'den çıkarın


50

Temamın archive.php dosyasında aşağıdaki kod var:

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

Bu bana "Kategori: Rusya", "Etiket: Amerika", "Yazar: John" gibi başlıklar veriyor.

"Kategori:", "Etiket:" ve "Yazar:" bölümünü kaldırmak ve sadece kategori, etiket ve yazar adlarını görüntülemek istiyorum.

Bunu nasıl başaracağını bilen var mı?

Teşekkür ederim.

Yanıtlar:


79

Bu cevapta bahsettiğim get_the_archive_titlefiltreyi genişletebilirsiniz.

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>' ;    
        } elseif ( is_tax() ) { //for custom post types
            $title = sprintf( __( '%1$s' ), single_term_title( '', false ) );
        }    
    return $title;    
});

2
Bu işe yarıyor! Teşekkürler Pieter! Daha az teknolojiye sahip kullanıcılar aynı çözümü arıyorlarsa: Pieter kodunu functions.php dosyasına ekleyin, o kadar!
Nick,

Bunu bir alt temada yapın, böylece değişiklikleriniz tema güncellemesinde kaybolmaz.
Jürgen Paul

1
Bu oldukça iyi çalışıyor, ancak arşivler ve gümrük taksonomileri için eksik durumlar.
JacobTheDev

Tüm yazı tipi arşivlerine ve taksonomilerine yönelik Ben Gillbanks çözümünü görün
Dan Knauss

25

Kullanım fonksiyonu single_term_title()


İşleri WP'de birçok yolla yapabilirsiniz, ama ben her zaman en basit çözümleri seçtim. Sağol Timo.
f055

1
Bu sadece şart olmayan tüm arşivlerde işe yaramaz. Yani bence çok iyi bir çözüm değil.
GDY

9

CPT unvanı Sözsüz: 'Arşiv':

Bir CPT için özel arşiv şablonu oluşturuyorsanız ve CPT'nin başlığını yalnızca "Arşivleme" gibi bir kelime kullanmadan çıkarmak istiyorsanız, bunun yerine aşağıdaki işlevi kullanın:

echo post_type_archive_title( '', false );

Gönderen developer.wordpress.org


5

Bunun işleri basitleştirmenin bittiğini hissediyorum, ama yaptığım şey bu ...

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

1
Bu ingilizce olmayan bir web sitesi için işe yaramaz.
Maxwell sc

2

echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>'; taksonomi-kategorisinde .pp temasının halkı dışında.


1

Bir filtre kullanırdım ve onu bir dosyaya koyardım.

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

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

0

Biçimde her zaman olduğu varsayılırsa, Prefix: Archive Nameilk boşluğu izleyen boşluğu bulabilir ve PHP'nin substr () ve strpos () işlevlerini kullanarak get_the_archive_title () işlevini kullanarak yalnızca içeriği gösterebiliriz .

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

-2

Önek olmadan sadece başlığa sahip olmak için aşağıdakileri kullanabilirsiniz.

single_cat_title();

2
Doğru olsa da, bu daha önce diğer cevaplarda önerilmiştir.
Nicolai,

-4

dizin: wp-includes

dosya: general-template.php

işlev bul: get_the_archive_title() değiştir:

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>' );
    }

için:

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, burada çekirdeği kesmeyi gerçekten öneriyor musun?
cjbj

3
Bu çok, çok kötü bir fikir. Ayrı bir dal oluşturmadan şimdi güncelleyemezsiniz.
fuxia

Rolleri kırarsam Sory bunun için bir kelime veririm, ama bu sadece kötü bir şey olmayan bir çözüm. Yani, kendi sitemi kırdığımı ya da çekirdek dosyalardan kod paylaşamayacağımı mı söyledin?
Dragan Nikoliç

Şey, bu sizin web siteniz ve istediğiniz her şeyi düzenleyebilirsiniz - hatta çekirdek dosyalar. Ancak, WordPress'inizi güncellerseniz web kesilecektir ...
Raccoon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.