Oke, saya sudah mendapatkan contoh yang berfungsi untuk semua 3 jenis permintaan. Butuh satu ton percobaan dan main-main untuk membuat mereka bekerja. Saya kira Milo pandai mendorong orang untuk menjawab pertanyaan mereka sendiri.
Setelah perubahan yang tak terhitung jumlahnya dan menyegarkan permalinks saya menyadari itu jauh lebih mudah untuk mengetahui url di luar add_rewrite_url dan sekali mereka bekerja kemudian tentukan penulisan ulang. Contoh sedang index.php?param=foo&post_type=example_type
.
Hal lain yang jelas, tetapi menambahkannya di sini sehingga dapat membantu orang lain. Anda harus menetapkan aturan add_rewrite_rule jenis pos kustom SEBELUM Anda menentukan halaman / sub-halaman aturan wildcard Anda. Saya menghabiskan sedikit waktu dengan yang itu dan berpikir itu adalah hal utama yang membuat saya tidak mengerti mengapa aturan tidak bekerja.
Berikut adalah 3 aturan yang sesuai dengan semua kebutuhan saya. Aturan Halaman / Sub-Halaman digabungkan menjadi satu.
// Custom Post Archive
add_rewrite_rule(
'^foo/example_type/?$',
'index.php?param=foo&post_type=example_type',
'top'
);
// Custom Post Individual
add_rewrite_rule(
'^foo/example_type/([^/]*)/?$',
'index.php?param=foo&example_type=$matches[1]',
'top'
);
// Pages, Top-Level and Sub-Pages
// This MUST be placed in the code AFTER custom post add_rewrite_rule
add_rewrite_rule(
'^foo/(.+)/?$',
'index.php?param=foo&pagename=$matches[1]',
'top'
);
Selain itu, apa yang saya lakukan adalah mengatur lingkaran untuk menambahkan beberapa aturan jenis pos kustom. Ingat, Anda harus mendefinisikan aturan add_rewrite_rule jenis pos kustom SEBELUM Anda menentukan halaman / sub-halaman aturan wildcard Anda.
$custom_types = array('example_type', 'projects', 'people');
foreach($custom_types as $type) {
// Custom Post Archive
add_rewrite_rule(
'^foo/'.$type.'/?$',
'index.php?param=foo&post_type='.$type,
'top'
);
// Custom Post Individual
add_rewrite_rule(
'^foo/'.$type.'/([^/]*)/?$',
'index.php?param=foo&'.$type.'=$matches[1]',
'top'
);
}
The Analyzer Rewrite yang Milo diteruskan cukup membantu ketika mencoba untuk lebih memahami bagaimana Wordpress query untuk halaman / posting.
page
tipe posting, atau sembarang halaman? bagaimana dengan halaman induk / anak dalam hierarki?