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.
Kategorien
- Allgemein (2)
- Onlinemarketing (16)
- Onlinemarketing Beratung (11)
- Projekte (3)
- SEO (8)
- Social Media (1)
- Sonstiges (13)
- Webdesign (10)
- Webentwicklung (22)
- WordPress (2)