Automatisk rettelse af æøå i permalinks
Opdatering, Jeg benyttede tidligere nedenstående til at rette WordPress permalink struktur – så æøå blev omskrevet til ae oe aa. Men jeg har udviddet løsningen, så man nu også kan benytte æøå og altså ikke behøver at benytte den her beskrevne teknik.
Se wk-cleaner-et-plugin-der-fikser-lidt-af-hvert i stedet!
Jeg benytter følgende kode i min functions.php, for automatisk tilrettelse af æøå / ÆØÅ til gammeldavs ae oe aa:
<?php
// ---- SLUG Permalink æøå --- //
// kode nappet fra Transliterado (frit oversat fra esperanto):
$translate_language = array(
'da' => array(
'NOMO' => 'Dansk, Norsk',
'da_aeoeaa' => 'æ, ø, å → ae, oe, aa'
)
);
$translate_system = array();
function sanitize_title_dk($title)
{
global $translate_language, $translate_system;
if (!mb_check_encoding($title, 'ASCII'))
{
$title=utf8_decode($title);
foreach (array_keys($translate_language) as $language)
{
$choise = 'da';
switch ($choise)
{
case 'da':
$translate_system[] = array
(
"Æ"=>"ae","Ø"=>"oe","Å"=>"aa","æ"=>"ae","ø"=>"oe","å"=>"aa"
);
}
}
foreach ($translate_system as $system)
{
$title = strtr($title, $system);
}
}
return $title;
};
add_filter('sanitize_title', 'sanitize_title_dk', 0);
// ---- SLUG Permalink æøå END //
Koden er nappet fra et plugin "transliterado" som igen har forfinet tidligere plugins.
Hej.
Jeg har netop i dag sidet og rodet med dette problem, så herligt at du har fundet en løsning og tak for du deler den. :-)
Jeg er ikke ekspert i php eller WordPress, men jeg prøvede bare for sjovt at lave det lidt simplere.
Du må meget gerne komme med feedback, hvis du mener det jeg har lavet er har en masse fejl.
function sanitize_title_dk($dk_slug)
{
$patterns = array(‘/æ/’,'/ø/’,'/å/’,'/Æ/’,'/Ø/’,'/Å/’);
$replacements = array(‘ae’,'oe’,'aa’,'ae’,'oe’,'aa’);
$dk_slug = preg_replace($patterns, $replacements, $dk_slug);
return $dk_slug;
};
add_filter(‘sanitize_title’, ‘sanitize_title_dk’, 0);
Med venlig hilsen
Vayu Robins
Hej Vayu, ja det ser godt ud det du har skrevet.
Læg dog mærke til det ASCII check som Transliterado har med.
Følgende er den version jeg selv benytter pt: