Die Seiten-URLs werden durch die Slugs definiert und standardmäßig von der Funktion formatiert und in Kleinbuchstaben geschrieben sanitize_title_with_dashes()
. Diese Funktion wird jedoch über einen Filter aufgerufen, und Sie können den Filter aushängen , damit er nicht aufgerufen wird:
remove_filter( 'sanitize_title', 'sanitize_title_with_dashes' );
Dies zu tun ist wahrscheinlich keine gute Idee, da dadurch die Leerzeichen und andere seltsame Dinge in der Schnecke nicht entfernt werden. Ich schlage vor, Sie kopieren die vorhandene Funktion, entfernen den Teil, der sie in Kleinbuchstaben schreibt, und schließen sie erneut an:
add_filter( 'sanitize_title', 'wpse5029_sanitize_title_with_dashes' );
function wpse5029_sanitize_title_with_dashes($title) {
$title = strip_tags($title);
// Preserve escaped octets.
$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
// Remove percent signs that are not part of an octet.
$title = str_replace('%', '', $title);
// Restore octets.
$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);
$title = remove_accents($title);
if (seems_utf8($title)) {
//if (function_exists('mb_strtolower')) {
// $title = mb_strtolower($title, 'UTF-8');
//}
$title = utf8_uri_encode($title, 200);
}
//$title = strtolower($title);
$title = preg_replace('/&.+?;/', '', $title); // kill entities
$title = str_replace('.', '-', $title);
// Keep upper-case chars too!
$title = preg_replace('/[^%a-zA-Z0-9 _-]/', '', $title);
$title = preg_replace('/\s+/', '-', $title);
$title = preg_replace('|-+|', '-', $title);
$title = trim($title, '-');
return $title;
}
wpseNNNN
ist wahrscheinlich einzigartig , sie selbst als separate Plugins auszuprobieren und falls jemand sie in seinen eigenen Code kopiert, ohne sie zu ändern .Ich würde wirklich empfehlen, dass Sie sich an die von WordPress verwendeten Kleinbuchstaben-URLs für Ihre Website halten (ich halte Kleinbuchstaben-URLs sowieso für eine bewährte Methode), aber 301 Weiterleitungen für alle URLs einrichten, für die Sie dieses Problem haben. Ich finde, es endet normalerweise mit Schmerzen, wenn Sie versuchen, eine Plattform zu bekämpfen, um zu verhindern, dass sie das tut, was sie will, und URL-Strukturen sind wirklich in die Architektur von WordPress eingebettet.
Ich habe eine andere Antwort geschrieben, die Ihren Anforderungen sehr ähnlich
'template_redirect'
ist. Dieses Beispiel kann Ihnen zeigen, wie Sie mithilfe des Hooks eine Umleitung für diese URLs einrichten. Hier haben Sie dieses Problem:Wenn Sie weitere Informationen wünschen, fragen Sie bitte.
quelle
Soweit ich weiß, unterscheiden Suchmaschinen nicht zwischen Groß- und Kleinschreibung, obwohl URLs zwischen Groß- und Kleinschreibung unterscheiden. Ich würde empfehlen, das großgeschriebene Dateiformat loszuwerden, da es für Benutzer schwer zu merken ist.
Wenn Sie wirklich an der vorherigen Struktur festhalten möchten, müssen Sie mit regulärem Ausdruck (reguläre Ausdrücke) in der .htaccess-Datei arbeiten.
quelle