Sep 24

Aus einem mir nicht ersichtlichen Grund hat das sehr brauchbare WordPress Plugin Smart Slug (Version 0.2.1) aufgehört zu funktionieren. Ich weiß nicht warum, aber ich hatte immer im Hinterkopf das ich mich um Stopwords nicht mehr kümmern müsste und habe mir die Permalinks deshalb auch nicht mehr an geguckt. 20 Posts später ist es mir dann doch mal aufgefallen…

Was ist Smart Slug?

Smart Slug entfernt automatisch Füllwörter oder Stopwords aus Permalinks. So bleibt von dem Title:

Wir waren zwar nur weiter Oben als alle anderen

nur das Wort Oben übrig, da die restlichen Wörter auf der Slug Liste stehen. Die Liste kann man selbst anpassen. Das hat den Vorteil das unwichtige Füllwörter die URL nicht unnötig verlängern.

Der Fix Version 0.2.1

Die Lösung des Problems war recht einfach. In der Datei wet_smartslug.php, in der Funktion smart_slug($title), war das $this->stopwords Array nicht richtig gefüllt. Das ganze kann man recht einfach durch einen Aufruf der Funktion get_options() fixen.

function smart_slug($title) {
// ... some comments ...
    $this->get_options();

    $old_title = $title;
    // strip out too short parts and members of the stoplist array
    $title = explode('-', $title);
    foreach ($title as $t) {
        if ((strlen($t) >= $this->min_chars) && !(in_array($t, $this->stopwords))) {
            $out[] = $t;
        }
    }
// ... some other stuff ...
    return $title;
}

Die Datei wieder hoch laden und schon macht es wieder was es soll. Durch den WordPress Plugin Code sehe ich noch nicht wirklich durch, weshalb ich die wirkliche Problemstelle nicht gefunden habe, aber mit diesem Fix funktionierte alles wieder nach nur 5 Minuten suchen.

One Response to “WordPress Smart Slug funktioniert nicht mehr”

  1. schmufu sagt:

    Es gibt mal wieder eine neue Version (1.2.0). Am Quelltext hat sich diese mal nichts verändert außer der Versionsnummern Sprung von 0.2.1 auf 1.2.0. Ich denke wenn es Veränderungen gibt, dann in den .po/.mo’s. Es funktioniert jedenfalls anständig, auch ohne den hier beschriebenen Hack.

Leave a Reply

preload preload preload