У меня есть 2 проблемы, связанные друг с другом!
Как заставить слагов работать на красивые URL-адреса, такие как: ä, ü, ö, â, á или то, что там когда-либо существует.
Я не хочу, чтобы они переписали это! Я действительно хочу заставить это работать с этим .. Единственный способ, которым я нашел, был устаревший плагин, названный 123Echt Laut, .. он все еще работает, но я предпочитаю иметь что-то современное, или код php, который заставляет это работать не переписывая его, например, из ae! Я хочу, чтобы ä отображалось в URL как ä!
Кроме того, я хочу получить этот слизень .. что я нашел с помощью Google, это:
?php global $post;
$post_slug=$post->post_name;?>
Я хотел, чтобы получить слово: Fünkel
Я получил: f% c3% bcnkel
Это, вероятно, дубликат эта почта хотя этот находится на WordPress Stack Exchange. На самом деле, этот вопрос также должен быть опубликован там, поскольку технически это вопрос WordPress. Это, как говорится, вот ответ размещен там, который я думаю, что вы ищете.
remove_filter( 'sanitize_title', 'sanitize_title_with_dashes');
add_filter( 'sanitize_title', 'restore_raw_title', 9, 3 );
function sweURLtoCHAR($text)
{
$url=array(
"%C3%84","%C3%A4",
"%C3%9C","%C3%BC",
"%C3%96","%C3%B6",
"%C3%82","%C3%A2",
"%C3%81","%C3%A1");
$char=array(
"Ä","ä",
"Ü","ü",
"Ö","ö",
"Â","â",
"Á","á");
$str = str_replace($char,$url,$text);
$str_new = str_replace(" ", "", $str);
return strtolower($str_new);
}
function restore_raw_title( $title, $raw_title, $context ) {
if ( $context == 'save' )
return sweURLtoCHAR($raw_title);
else {
$title_new = str_replace(" ", "", $title);
return strtolower($title_new);
}
}
редактировать: О, и чтобы получить «fünkel» из «f% c3% bcnkel», используйте urldecode (). И если уж на то пошло, если подумать, вы можете заменить это sweURLtoCHAR
функция с чем-то вроде этого (не проверено):
function sweURLtoCHAR($text)
{
$str = urldecode($text);
$str_new = str_replace(" ", "", $str);
return strtolower($str_new);
}
Других решений пока нет …