Sprachschlüssel des WordPress-Feed richtig setzen

Mit Hilfe des Sprachschlüssel kann nicht nur das Blog ausgezeichnet werden, sondern auch der Feed. Auch WordPress hat dafür eine Option vorgesehen; gibt dem Anwender aber keine einfache Möglichkeit der Pflege in die Hand. Sinnvoll ist es aber, den Schlüssel nach dem Codec zu setzen und daher hier einige Möglichkeiten das zu tun.

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 8 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

WP Adventskalender 13
Mit Hilfe des Sprachschlüssel kann nicht nur das Blog ausgezeichnet werden, sondern auch der Feed: <language>en</language>.
Auch WordPress hat dafür eine Option vorgesehen; gibt dem Anwender aber keine einfache Möglichkeit der Pflege in die Hand.
Sinnvoll ist es aber, den Schlüssel nach dem Codec zu setzen und daher hier einige Möglichkeiten das zu tun.

Via Datenbank

Direkt in der Datenbank den Schlüssel (option_name) rss_language suchen und den Wert deiner Sprache pflegen, zum Beispiel de. Die Schlüsselwerte findet man beispielsweise auf dieser Seite.

Via Hook

Alternativ kann man das ganze auch mit Hilfe einer Funktion von WordPress setzen. Dazu genügt folgender Syntax, einfach in der functions.php des Themes abgelegt und ein Aufruf des Admin oder Frontend genügt; einmalig reicht um den Wert zu setzen. Danach kann der Code wieder aus dem Template entfernt werden.


function update_rss_language() {
	update_option( 'rss_language', 'de' );
}
add_action( 'admin_init', 'update_rss_language' );

Komfortabel in den Einstellungen

Die letzte Möglichkeit ist ein wenig komfortabler und legt ein weiteres Feld im Bereich der Einstellungen - Lesen ab. Dort gibt es nun ein weiteres Feld, welches es erlaubt, den Wert zu pflegen.

Neue Option für RSS Language

Der folgende Code muss dazu in einem Plugin oder in der functions.php des aktiven Themes abgelegt werden. Aktuell habe ich mal den Code inkl. der Kommentare abgelegt, so dass man es direkt als Plugin nutzen kann; copy/paste in eine PHP-Datei und in den Ordner wp-content/plugins kompieren. Im Anschluss kann man das Plugin im Backend von WordPress aktivieren.


<?php

/*
Plugin Name: RSS Language
Plugin URI: https://bueltge.de/wp-landingsites-de-plugin/181/
Description: Add options field for rss language
Version: 1.0
Author: Frank B&uuml;ltge
License: GNU
Author URI: https://bueltge.de/
*/

function rss_language_string() {
	?>
	<input name="rss_language" type="text" id="rss_language" value="<?php form_option('rss_language'); ?>" class="regular-text" />
	<span class="description"><?php _e('RSS supports multiple languages through the language element, which contains a short code that identifies that the natural language employed in the channel. See on this table for your <a href="http://www.rssboard.org/rss-language-codes#table">language codes</a>.'); ?></span>
	<?php
}

function rss_language_admin_init() {
	register_setting( 'reading', 'rss_language' );
	add_settings_field( 'rss_language', __('RSS Language Code'), 'rss_language_string', 'reading');
}
add_action( 'admin_init', 'rss_language_admin_init' );

?>

Kommentare sind geschlossen.