Yazar sayfaları için varsayılan URL geçersiz kılsın mı?


13

Bu nedenle, belirli bir yazarın gönderiler listesini görüntülemek için varsayılan URL şu şekilde görünür:

http://domain.com/author/{username}

Bu URL'deki 'yazar'ı başka bir şeye nasıl değiştireceğini merak ediyorum?

Charter okulu için bir web sitesi üzerinde çalışıyorum ve her öğretmenin "sınıfa" göre bir liste yayınlamasına izin vermek istiyorlar. Böylece istenen url

http://domain.com/classroom/{username}

Yanıtlar:



15

Bunu işlevlerinize ekleyebilirsiniz; slug varsayılan "yazar" dan "sınıfa",

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

umarım sana yardımcı olur


1
flush_rules()(kaynaklarda) oldukça pahalı, bu yüzden her sayfa yükü çağırmaz. Bunu yalnızca bir site için yaparsanız, siteyi dışarıda bırakıp Kalıcı Bağlantılar sayfasını ziyaret edebilirsiniz , bu da kuralları temizler.
Jan Fabry

Evet @ Jan Fabry, haklısın, cevabı şimdi düzenledim. Daha iyi bir çözüm yazdım.
Philip

4
Bu snippet'i mi yoksa t31os eklentisini mi kullanacağınızı merak eden herkes için: eklenti tamamen aynıdır, ancak URL bölümünü değiştirmek için bir arayüze sahiptir. Muhtemelen her ay değiştirmeyeceğiniz için, bu snippet functions.phpfazlasıyla yeterlidir (ve yanlışlıkla devre dışı bırakılmaz).
Jan Fabry


0

Bunu aşağıdakilere ekleyebilirsiniz functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
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.