Hooks: Plugin-Werte auslesen und überschreiben

Wie in WordPress üblich, stellt auch wpSEO eine Schnittstelle nach “außen” bereit: sogenannte Hooks erlauben Lese- wie Schreibzugriffe auf freigegebene Plugin-Einstellungen und Funktionen. Auf Optionen und Werte kann somit beispielsweise aus dem Theme heraus zugegriffen werden, um eine gezielte Ausgabe der einzelnen Metadaten zu ermöglichen. Ebenso lassen sich versteckte Optionen nachträglich nach eigenem Ermessen steuern.

Der aktuelle Umfang der implementierten und verfügbaren Hooks:

Schreibrechte

Leserechte

  • wpseo_the_meta
  • wpseo_the_title
  • wpseo_the_desc
  • wpseo_the_keys
  • wpseo_the_robots
  • wpseo_the_canonical

SEO Monitor

  • wpseo_set_monitor
  • wpseo_google_backlinks
  • wpseo_google_serps
  • wpseo_google_rank
  • wpseo_page_speed
  • wpseo_alexa_rank
  • wpseo_xovi_ovi
  • wpseo_seit_wert
  • wpseo_feed_count
  • wpseo_gplus_count
  • wpseo_twitter_count

Steuerung

wpSEO Hooks

Nachfolgend sind verständliche Beispiele gelistet, die eine mögliche Nutzung der wpSEO Hooks in der Theme-Datei functions.php verdeutlichen. Mithilfe der Conditional Tags wie is_single(ID) kann die Abfrage bzw. Zuweisung der Datenwerte zusätzlich eingeschränkt werden. WordPress- und PHP-Wissen werden entsprechend vorausgesetzt.

wpseo_set_meta (Schreiben)

add_action('init', 'set_wpseo_meta');function set_wpseo_meta() {    apply_filters(        'wpseo_set_meta',        array(            'title' => 'Neuer Titel',            'desc' => 'Neue Description',            'keys' => 'Neue, Keywords',            'robots' => 'follow, index',            'canonical' => 'http://neue.url'        )    );}

Beispiel: Benutzerdefinierte Artikel-Metadaten

wpseo_set_title (Lesen & Schreiben)

add_action('init', 'wpseo_set_title');function wpseo_set_title() {    add_filter(        'wpseo_set_title',        'wpseo_set_title_callback'    );}function wpseo_set_title_callback($input) {    return 'Neuer Titel';}

Beispiel: Benutzerdefinierter Artikel-Titel

wpseo_set_desc (Lesen & Schreiben)

add_action('init', 'wpseo_set_desc');function wpseo_set_desc() {    add_filter(        'wpseo_set_desc',        'wpseo_set_desc_callback'    );}function wpseo_set_desc_callback($input) {    return $input . ' - durch API erweitert';}

Beispiel: Benutzerdefinierte Artikel-Description

wpseo_set_keys (Lesen & Schreiben)

add_action('init', 'wpseo_set_keys');function wpseo_set_keys() {    add_filter(        'wpseo_set_keys',        'wpseo_set_keys_callback'    );}function wpseo_set_keys_callback($input) {    return 'wpseo, wordpress, seo, plugin';}

Beispiel: Benutzerdefinierte Artikel-Keywords

wpseo_set_robots (Lesen & Schreiben)

add_action('init', 'wpseo_set_robots');function wpseo_set_robots() {    add_filter(        'wpseo_set_robots',        'wpseo_set_robots_callback'    );}function wpseo_set_robots_callback($input) {    return 'noindex, follow';}

Beispiel: Benutzerdefinierter Robots-Wert

wpseo_set_canonical (Lesen & Schreiben)

add_filter(    'wpseo_set_canonical',    function($input) {        if ( get_the_ID() == 1556 ) {            return 'http://google.de';        }        return $input;    });

Beispiel: Benutzerdefinierter Canonical-Wert (PHP 5.3)

wpseo_filter_output (Lesen & Schreiben)

add_action('init', 'wpseo_filter_output');function wpseo_filter_output() {    add_filter(        'wpseo_filter_output',        'wpseo_filter_output_callback'    );}function wpseo_filter_output_callback($input) {    return 'Präfix ' .$input;}

Beispiel: Stellt jedem wpSEO Ausgabewert das Wort “Präfix” davor

wpseo_set_desc_chars (Lesen & Schreiben)

add_action('init', 'wpseo_set_desc_chars');function wpseo_set_desc_chars() {    add_filter(        'wpseo_set_desc_chars',        'wpseo_set_desc_chars_callback'    );}function wpseo_set_desc_chars_callback($input) {    return 100;}

Beispiel: Benutzerdefinierter Wert für die Anzahl der Description-Zeichen

wpseo_set_noindex_age (Lesen & Schreiben)

add_action('init', 'wpseo_set_noindex_age');function wpseo_set_noindex_age() {    add_filter(        'wpseo_set_noindex_age',        'wpseo_set_noindex_age_callback'    );}function wpseo_set_noindex_age_callback($input) {    return 3;}

Beispiel: Sperrung der Indexierung für Beiträge älter 3 Monate

Anmerkung
Es ist zu beachten, dass die fehlerfreie Arbeitsweise weiterer Hooks nur unter der Voraussetzung erfolgt, dass die Option Ausgabe der Metadaten im Template manuell anstoßen im Bereich “Geschwindigkeit” explizit ausgewählt ist.

wpseo_the_meta (Lesen)

do_action('wpseo_the_meta');

Ausgabe generierter Metadaten

wpseo_the_title (Lesen)

do_action('wpseo_the_title');

Ausgabe des generierten Titels

wpseo_the_desc (Lesen)

do_action('wpseo_the_desc');

Ausgabe der generierten Description

wpseo_the_keys (Lesen)

do_action('wpseo_the_keys');

Ausgabe generierter Keywords

wpseo_the_robots (Lesen)

do_action('wpseo_the_robots');

Ausgabe des generierten Robots-Wertes

wpseo_the_canonical (Lesen)

do_action('wpseo_the_canonical');

Ausgabe der generierten Canonical-URL

wpseo_strip_shortcodes (Schreiben)

Vor der Ausgabe der Meta-Beschreibung ignoriert wpSEO alle in WordPress registrierte Shortcodes mithilfe der WordPress-internen Funktion strip_shortcodes. Der wpSEO Filter wpseo_strip_shortcodes kann genutzt werden, um vorhandene Shortcodes auszuführen statt sie zu entfernen – in diesem Fall wendet wpSEO die Funktion do_shortcode auf den Wert an.

add_filter('wpseo_strip_shortcodes', '__return_false');

Zuletzt geändert am 17. März 2015 in