En slug är några ord som beskriver en webbsida. Slug är vanligtvis en URL-vänlig version av sidans titel, alltså något som sökmotorer gillar bättre än en ”konstig” URL som http://www.minsida.se/sida.php?id=45. Exempelvis, om sidans titel är ”Timrå IK är dom bästa!!” så skulle en slug-URL till detta kunna vara http://www.minsida.se/timra-ik-ar-dom-basta
De slug-funktioner i php som jag hittat på nätet har inte haft något stöd för svenska tecken (åäö) så jag var tvungen att skriva en egen sådan function. Om någon kan förbättra den så skicka in er förbättrade version. Hur som haver här är den:
function slug($string)
{
$unPretty = array(’/å/’,’/ä/’,’/ö/’,’/ü/’, ’/Å/’, ’/Ä/’, ’/Ö/’, ’/Ü/’,’/é/’);
$pretty = array(’a’,’a’, ’o’, ’u’, ’A’, ’A’, ’O’, ’U’,’e’);
$string = preg_replace($unPretty, $pretty, $string); // convert swedish characters
$string = preg_replace( ’/[^a-zA-Z0-9- ]/’, ”,$string); // replace non-characters
$string = str_replace(” ”, ”-”, $string); // replace spaces by dashes
$string = strtolower($string); // Make it lowercase
return $string;
}
Inte har väll wordpress slug stöd för svenska tecken? Vart/hur grejjar jag det med hjälp av din tjusiga kod? :)
Jag tror att WordPress skapar sina slug’ar i funktionen sanitize_title_with_dashes. Så kolla där.
Riktigt nice. Dock strulade det när jag klippte in det. Jag fick skriva om alla /’ och ’/
Tusen tack.
Hej, intressant. Har letat efter en sån här lösning. Du råkar inte veta lite mer exakt vart jag hittar filen som jag kan klistra in din slugfunktion i?