Ich verwende $ wp_rewrite-> non_wp_rules
Ich habe den folgenden Code, der funktioniert:
'name/(.*)' => 'index.php?post_type=post';
Ich kann eine URL wie http://meinesite.com/custom_name/post_name verwenden
wie kann ich mit $ wp_rewrite-> non_wp_rules dafür sorgen, dass Seiten genauso funktionieren?.
Dies ist nur ein Beispiel:
'anothername/(.*)' => 'index.php?post_type=page'; //for all pages
'anothername/(.*)' => 'page/pagename' //for one specific page
Gibt es eine Möglichkeit, eine Seite so aussehen zu lassen:
http://mysite/custom_name/page_name.
Die beiden obigen Beispiele leiten mich einfach weiter zu:
http://mysite/page_name //without the slug
Ich habe keine externen Regeln ausprobiert, aber Sie können dies mit einem internen Rewrite und pagename
erreichen:
function wpd_page_rewrite(){
add_rewrite_rule(
'^anothername/([^/]*)/?',
'index.php?pagename=$matches[1]',
'top'
);
}
add_action( 'init', 'wpd_page_rewrite' );
Für übergeordnete/untergeordnete Seiten müssen Sie pagename
auf den übergeordneten/untergeordneten Pfad page/pagename
festlegen, oder Sie können auch page_id
verwenden und die ID der Seite verwenden.
BEARBEITEN - Beachten Sie, dass Sie die Regeln neu schreiben müssen nachdem Sie neue hinzugefügt haben. Eine schnelle Möglichkeit, dies während des Testens zu tun, ist der Besuch der Seite mit den Einstellungen für Permalinks.