Ich habe endlich meine Permalinks arbeiten für benutzerdefinierte Beitragstypen und Taxonomien mit `a helper class.Wordpress Rewrite Regeln und Regex
Meine benutzerdefinierte Beitragstyp ist "Menü" und meine Taxonomie ist "menutype".
Ich schrieb die folgende Umschreibungs:
function custom_rewrite($wp_rewrite) {
$feed_rules = array(
'menu/salads/(.+)' => 'index.php?menu=' . $wp_rewrite->preg_index(1),
'menu/hotboxes/(.+)' => 'index.php?menu=' . $wp_rewrite->preg_index(1),
'menu/wraps/(.+)' => 'index.php?menu=' . $wp_rewrite->preg_index(1),
'menu/sauces/(.+)' => 'index.php?menu=' . $wp_rewrite->preg_index(1),
'menu/soups/(.+)' => 'index.php?menu=' . $wp_rewrite->preg_index(1),
'(.+)/([^/]+)(/[0-9]+)?/?$' => 'index.php?menutype=' . $wp_rewrite->preg_index(2)
);
$wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
// refresh/flush permalinks in the dashboard if this is changed in any way
add_filter('generate_rewrite_rules', 'custom_rewrite');
Die einzige Sache ist, möchte ich nicht die Taxonomie codieren (dh Menü/Soßen/Menü/hotboxes) in meine Rewrite-Regeln, wie die Bedingungen ändern könnten (aber sie werden immer Kleinbuchstaben sein)
ich habe versucht, die folgenden:
'menu/([^/]+)/(.+)'
Und auch:
'menu/([a-z]+)/(.+)'
Aber keiner funktionierte.
Müssen Sie die erste Referenz speichern (was folgt unmittelbar auf 'menu /')? Wenn nein, entfernen Sie die Parens. Wenn ja, verwenden Sie das richtige Argument für preg_index? – Madbreaks
Ah das funktioniert total! Kannst du es einfach als Antwort schreiben, damit ich es überprüfen kann? Danke – redconservatory
Warum ** funktioniert das Entfernen der Parans? – redconservatory