web-dev-qa-db-ja.com

パーマリンクをサニタイズされた名前にアクセス付きの文字でマッピングするにはどうすればいいですか?

TypePadでホストされているブログの古いエントリを新しいWordPressのインストールと同期させるには...

このパーマリンクをアクセント付きの文字でマッピングする方法

domain.com/no-es-fácil-alejarse-de-la-política

アクセント文字なしのこのきれいなWPパーマリンクへ:

domain.com/no-es-facil-alejarse-de-la-politica

これを達成するための最良の方法は何ですか?

3
Juan

これを実現する最善の方法は、デフォルトのsanitize_titleフィルタを削除して自分のフィルタに置き換えることです。これにより、それらの文字が正しくエンコードされます。これは パーマリンクでアクセントを使う の実装です。

例:

remove_filter( 'sanitize_title', 'sanitize_title_with_dashes');
add_filter( 'sanitize_title', 'restore_raw_title', 9, 3 );
function sweURLtoCHAR($text)
{
  $url=array(
    "%C3%81","%C3%A1",
    "%C3%8D","%C3%AD"
  );
  $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);
  }
}

あなたは文字とそのutf8 hex ここ を見つけてあなたが必要とするアクセントを付けられた文字で配列を作ることができます。

3
aWordpress

あなたは.htaccesでリダイレクトをするか、あるいはおそらくワードプレスプラグイン リダイレクト を試してみることができます。

0
Zombaya