Timpa url default untuk halaman penulis?

13

Jadi url default untuk menampilkan daftar posting oleh penulis tertentu terlihat seperti ini:

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

Saya bertanya-tanya bagaimana cara mengubah 'penulis' di url ke sesuatu yang lain?

Saya sedang mengerjakan situs web untuk sekolah charter dan mereka ingin memungkinkan setiap guru memiliki daftar posting dengan "ruang kelas". Jadi url yang diinginkan adalah

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

jessegavin
sumber

Jawaban:

15

Anda dapat menambahkan ini di fungsi Anda, dan itu akan menulis ulang siput dari "penulis" default ke "ruang kelas",

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

semoga membantu anda

Philip
sumber
1
flush_rules()cukup mahal (dalam sumber daya), jadi saya tidak akan menyebutnya pada setiap memuat halaman. Jika Anda hanya melakukan ini untuk satu situs Anda dapat meninggalkannya dan hanya mengunjungi halaman Permalinks , ini juga akan menghapus aturan.
Jan Fabry
Ya @ Jan Fabry, Anda benar, saya sudah mengedit jawabannya sekarang. Saya menulis solusi yang lebih baik.
Philip
4
Bagi siapa pun yang bertanya-tanya apakah akan menggunakan snipet ini atau plugin t31os yang disebutkan: plugin melakukan hal yang persis sama, tetapi dengan antarmuka untuk mengubah bagian URL. Karena Anda mungkin tidak akan mengubahnya setiap bulan, cuplikan di Anda functions.phpini lebih dari cukup (dan tidak akan dinonaktifkan secara tidak sengaja).
Jan Fabry
1

Saya menggunakan plugin "Edit Author Slug" untuk melakukan hal yang sama di http://www.techcartnow.com/author/kapil-khandelwal/ WordPress Blog saya. Saya telah memodifikasi "penulis slug" menggunakan plugin ini.

Plugin " Edit Author Slug " memungkinkan Anda untuk mengubah basis penulis (bagian '/ penulis /' dari URL penulis), dan penulis slug (default ke nama pengguna penulis).

Kapil Khandelwal
sumber
0

Anda dapat menambahkan ini di functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Madhavi Jha
sumber