it-swarm-eu.dev

Jak mapovat permalinky s akcentovanými písmeny na dezinfikované slimáky?

Chcete-li zachovat starší položky na blogu hostovaném v programu TypePad při synchronizaci s novou instalací aplikace WordPress ...

Jak mapovat tento permalink písmeny s diakritikou:

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

na tento čistý WP permalink bez písmena s diakritikou:

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

Jaký je nejlepší způsob, jak toho dosáhnout?

3
Juan

Nejlepším způsobem, jak toho dosáhnout, je odstranit výchozí filtr sanitize_title a nahradit jej vaším, který tyto znaky řádně zakóduje. Zde je implementace použití akcentů v permalinkech .

Příklad:

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);
  }
}

Můžete najít znaky a jejich utf8 hex zde a vytvořit pole s diakritikou znaky, které potřebujete.

3
aWordpress

Dalo by se provést přesměrování pomocí .htacces nebo možná zkusit plugin wordpress přesměrování .

0
Zombaya