Dalam tema anak saya archive.php
, saya memiliki kode berikut untuk menampilkan judul halaman arsip saya:
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
?>
Tapi itu menampilkan judul saya sebagai "Kategori: Judul Kategori " bukan hanya judul tanpa "Kategori:" yang disebutkan sebelumnya.
Insting pertama saya adalah untuk menimpa get_the_archive_title()
dari wp-includes/general-template
. Tapi dari apa yang saya baca, tampaknya saya tidak seharusnya mengubah hal-hal inti wordpress, bahkan dengan mengabaikan dari tema anak.
Jadi apa cara praktik terbaik untuk mengontrol output the_archive_title()
?
functions
child-theme
fildred13
sumber
sumber
Jawaban:
Jika Anda melihat kode sumber
get_the_archive_title()
, Anda akan melihat bahwa ada filter yang disediakan, yang disebutget_the_archive_title
, di mana Anda dapat memfilter output dari fungsi.Anda dapat menggunakan yang berikut ini untuk mengubah output pada halaman kategori
sumber
Archive: Books
(di manaBooks
jenis posting khusus). Thesingle_cat_title()
fungsi hanya mengembalikan judul halaman jika jenis adalah kategori atau tag . Bisakah Anda mengubah jawaban Anda untuk memasukkan solusi yang bekerja dengan semua jenis konten?Jawaban yang diterima berfungsi untuk menghapus
Category:
awalan dari judul arsip kategori, tetapi bukan jenis taksonomi atau jenis posting lainnya. Untuk mengecualikan awalan lainnya, ada dua opsi:Buat kembali judul untuk semua varian yang digunakan dalam
get_the_archive_title()
fungsi asli :Atau, cukup hapus apa pun yang tampak seperti awalan judul (yang dapat mengubah judul aktual yang mengandung kata diikuti oleh karakter titik dua):
sumber
Anda bisa menggunakannya
sumber
single_cat_title
menggunakansingle_term_title
internal, yang bekerja pada taksonomi juga. Pastikan tema Anda tidak memiliki salah satu templat berikut yang ditentukan:taxonomy-book.php
atautaxonomy.php
, karena sudah lebih dulu didahulukanarchive.php
. Juga, pertimbangkan untuk menguji salah satu metode di jawaban lain. Jawaban ini cukup lama, itu berfungsi dengan baik pada saat saya mempostingnya, tapi saya tidak mengembangkan untuk WordPress lagi.Pilihan lain adalah:
Ganti Merek: dengan teks apa pun yang ingin Anda singkirkan.
Layak untuk melihat perbedaan antara get_the_archive_title () dan the_archive_title () the_archive_title () mengembalikan array get_the_archive_title () mengembalikan sebuah string
sumber
Ben Gillbanks memiliki solusi bagus yang menangani semua jenis pos dan taksonomi:
sumber
Anda dapat menggunakan
post_type_archive_title()
untuk mendapatkan judul arsip tanpa teks "Archives:".sumber