Tamam, tüm 3 tip istek için çalışma örnekleri aldım. Onları çalıştırabilmek için bir sürü deneme ve uğraşmak gerekiyordu. Sanırım Milo, insanları kendi sorularını cevaplamaya itme konusunda iyi.
Sayısız değişiklik ve kalıcı bağlantıların yenilenmesinden sonra, add_rewrite_url dışındaki URL'leri anlamanın çok daha kolay olduğunu gördükten sonra yeniden yazmayı tanımladılar. Örnek varlık index.php?param=foo&post_type=example_type
.
Başka bir belirgin şey, ama buraya eklemek, böylece başka birine yardımcı olabilir. Sayfa / alt sayfa joker karakter kurallarınızı tanımlamadan ÖNCE özel yazı türü add_rewrite_rule kurallarını tanımlamanız gerekir. Bununla biraz zaman kaybettim ve kuralların neden işe yaramadığını anlamama neden olan ana şey olduğunu düşünüyorum.
İşte tüm ihtiyaçlarımı karşılayan 3 kural. Sayfa / Alt Sayfa kuralı tek bir kuralda birleştirildi.
// 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'
);
Ayrıca yaptığım, birden çok özel yazı türü kuralı eklemek için bir döngü kurmaktır. Unutmayın, özel yazı türü add_rewrite_rule kurallarını, sayfa / alt sayfa joker karakter kurallarınızı tanımlamadan ÖNCE tanımlamanız gerekir.
$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'
);
}
Yeniden Yazma Analyzer iyi Wordpress sayfa / Yayınlar için sorgular anlamaya çalışırken Milo birlikte geçti oldukça yararlı oldu.
page
yazı , kategori, etiket vb. hiyerarşideki üst / alt sayfalar ne olacak?