von

Meta Beschreibungen von Yoasts SEO-Plugin für WordPress ins Frontend übertragen

Um den Wartungsaufwand einer Website zu reduzieren, habe ich bei einem recht aktuellen Projekt die Metabeschreibungen aus dem SEO-Plugin von Yoast genutzt, um zum Beispiel die Beschreibungen von Unterseiten anzureichern. Mit dem letzten Update des Yoast-Plugins von Version 1.7.1 auf 1.7.4 schlich sich auf meiner Seite folgende Fehlermeldung ein:

Fatal error: Call to protected WPSEO_Frontend::__construct() from invalid context

Ursprünglich verwendete ich hier den folgenden Codeschnipsel:

$object = new WPSEO_Frontend();
echo $object->metadesc( false );

 

Im WordPressforum fand ich recht schnell eine vermeintliche Lösung dieses Problems, welche vorschlug $object = new WPSEO_Frontend(); durch $object = WPSEO_Frontend::get_instance() zu ersetzen, sprich den folgenden Codeschnipsel zu verwenden:

$object = WPSEO_Frontend::get_instance();
 echo $object->metadesc( false );

 

Der Fehler verschwand zwar damit, allerdings auch der Beschreibungstext. Nach ein paar Experimenten und einer gefühlt viel zu langen Recherche fand ich allerdings auf Stackoverflow eine gute Lösung für das Problem:

$yoast_meta = get_post_meta($post->ID, '_yoast_wpseo_metadesc', true);
if ($yoast_meta) { //check if the variable(with meta value) isn't empty
    echo $yoast_meta;
}

 

Auf den ersten Blick, sollte diese Variante auch sehr resistent gegen weiter Update von Yoasts SEP-Plugin sein.

Ich bin ein diplomierter Wirtschaftsinformatiker und meine Tätigkeiten im Onlinemarketing begannen 2008 mit dem Management von Webprojekten bei der Schach&Matt GmbH. Nachdem ich Feuer für alle Facetten der Branche gefangen hatte machte ich mich 2009 mit r-evolve selbstständig und arbeite in Dresden.