Php Wordpress Slug Umlaut

Php Wordpress Slug Umlaut,php,wordpress,rewrite,slug,Php,Wordpress,Rewrite,Slug,我有两个彼此相关的问题 我如何让slug在漂亮的url上工作,比如:ä,ü,ö,á,或者其他存在的东西 我不想让他们重写它!我真的很想让这一切顺利进行。。我找到的唯一方法是一个过时的插件,名为123Echt Laut,。。它仍然可以工作,但我更喜欢有一些最新的东西,或者一个php代码,使它在不重写它的情况下工作,例如从ä到ae!我希望ä在url中显示为ä 而且我想找回那颗子弹。。我在谷歌发现的是: ?php global $post; $post_slug=$post->post_name

我有两个彼此相关的问题

我如何让slug在漂亮的url上工作,比如:ä,ü,ö,á,或者其他存在的东西

我不想让他们重写它!我真的很想让这一切顺利进行。。我找到的唯一方法是一个过时的插件,名为123Echt Laut,。。它仍然可以工作,但我更喜欢有一些最新的东西,或者一个php代码,使它在不重写它的情况下工作,例如从ä到ae!我希望ä在url中显示为ä

而且我想找回那颗子弹。。我在谷歌发现的是:

?php global $post;
$post_slug=$post->post_name;?>
我想让它找回“fünkel”这个词
我得到的是:f%c3%bcnkel

这可能是的一个副本,尽管它在WordPress堆栈交换上。事实上,这个问题也应该贴在那里,因为它在技术上是一个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%c3%bcnkel”中获取“fünkel”,请使用。考虑到这一点,您可能可以用类似以下内容(未经测试)替换
swerltochar
函数:


URL中的Umlaut,reälly?@Unheilig-为什么不?我只是好奇。通常情况下,德语Umlauts可以等效地替换/表示为添加a-e结尾(与ß的“ss”相同),而法语口音或西班牙语不能,因此(对我来说)URL有法语口音是合理的,因为它们在英语中不能像德语Umlauts那样表示。我也很想知道如何做到这一点。对不起。我以为你指的是URL中有重音符号。
function sweURLtoCHAR($text)
{
  $str = urldecode($text);
  $str_new = str_replace(" ", "", $str);
  return strtolower($str_new);
}