Saya sedang membangun situs Wordpress dengan beberapa jenis posting khusus. Setiap jenis posting adalah majalah yang berbeda. Saya juga memiliki bidang meta khusus untuk tahun dan masalah majalah.
Saya ingin memiliki url (digunakan archive.php):
http://my_site/magazine/name/
http://my_site/magazine_name/year/
http://my_site/magazine_name/year/issue/
Saya membuatnya dengan kode:
function magazine_rewrite_tag() {
add_rewrite_tag('%issue_year%', '([0-9]{4})');
add_rewrite_tag('%issue%', '([0-9])');
}
add_action('init', 'magazine_rewrite_tag', 10, 0);
dan:
function magazine_rewrite_rules() {
add_rewrite_rule('^([a-z]+)/([0-9]{4})/([0-9])?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]&issue=$matches[3]', 'top');
add_rewrite_rule('^([a-z]+)/([0-9]{4})?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]', 'top');
}
add_action('init', 'magazine_rewrite_rules');
Tentunya saya juga memiliki permintaan khusus di archive.php. Dan itu bekerja dengan baik.
Tapi sekarang, url saya untuk artikel tunggal tidak berfungsi. Secara default, itu adalah:
http://my_site/magazine/post-title
tapi tunjukkan semua artikel dari majalah seperti url (dan menggunakan templat archive.php):
http://my_site/magazine/
Bagaimana cara menambahkan aturan penulisan ulang yang benar untuk posting khusus tunggal? Mungkin saja, saya ingin memiliki url untuk posting tunggal (hanya untuk jenis posting khusus yang dipilih) dalam format ini:
http://my_site/magazine/year/issue/post-title
10
merupakan prioritas standar . Anda dapat meninggalkan keduanya dalam kasus itu ... atau mencoba nomor yang lebih tinggi. (2) Apakah Anda sudah memeriksa aturan penulisan ulang yang dihasilkan? Pastikan juga Anda memeriksa urutan aturan-aturan tersebut saat diproses dalam urutannya. Dump$GLOBALS['wp_rewrite']
. (3) Apakah Anda menambahkanquery_vars
bahwa mungkin bertentangan?