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.
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ü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' );
?>