“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.