sections, $section); } public function __construct() { register_setting( 'k2bssp-settings-group', $this->get_settings_group() ); // $id, $title, $callback, $page $this->add_section( new k2bsspSection('g', 'Allgemeines', array(__CLASS__, 'admin_general_description'), k2bsspAdminPage::$page)); $this->add_section( new k2bsspSection('fb', 'Facebook', array(__CLASS__, 'admin_facebook_description'), k2bsspAdminPage::$page)); $this->add_section( new k2bsspSection('tw', 'Twitter', array(__CLASS__, 'admin_twitter_description'), k2bsspAdminPage::$page)); $this->add_section( new k2bsspSection('gp', 'Google+', array(__CLASS__, 'admin_gplus_description'), k2bsspAdminPage::$page)); $this->add_section( new k2bsspSection('ot', '', array(__CLASS__, 'admin_hinweise_description'), k2bsspAdminPage::$page)); } function admin_general_description() { ?>
Wenn Optionen leergelassen werden, wird der Standardwert aus dem Heise.de Plugin verwendet.
Einstellungen für Facebook. Es ist keine App-ID mehr notwendig.
Einstellungen für Twitter.
Einstellungen für Google+.
* dieser Text wird angezeigt wenn keine Bilder angezeigt werden können.
name = $name; $this->caption = $caption; $this->description_callback = $description_callback; add_settings_section( K2BSSP_PREFIX . '_' . $name, $caption, $description_callback, k2bsspAdminPage::$page); $this->create_content(); } public function create_content() { new InputField( 'info_link', 'Info-Link', 'k2bssp_g', 'Link zu detaillierter Datenschutz-Info', 'code' ); new InputField( 'txt_help', 'Hilfetext', 'k2bssp_g', 'Info Text des i-Icons' ); new InputField( 'settings_perma', 'Info-Text', 'k2bssp_g', 'Überschrift des Einstellungsmenüs' ); new InputField( 'cookie_domain', 'Cookie-Domain', 'k2bssp_g', 'Domain, für die das Cookie gültig ist. Standard (nicht ausgefüllt): aktuelle Domain', 'code' ); new InputField( 'cookie_path', 'Cookie-Path', 'k2bssp_g', 'Pfad der Gültigkeit des Cookies', 'code' ); new InputField( 'cookie_expire', 'Cookie-Expire-Time', 'k2bssp_g', 'Dauer, die das Cookie gültig ist, in Tagen', 'code' ); new InputField( 'oben', 'Buttons oberhalb des Artikels anzeigen', 'k2bssp_g', 'Ja/Nein - Die "Share Buttons" werden wenn "Ja" oberhalb der Artikel angezeigt. Ansonsten werden sie weiterhin unterhalb der Artikel angezeigt.', 'code'); new InputField( 'overall', 'Buttons auch auf der Startseite anzeigen', 'k2bssp_g', 'Ja/Nein - Die "Share Buttons" werden wenn "Ja" auch auf der Startseite und nicht nur auf einzelnen Seiten/Artikeln angezeigt.', 'code'); new InputField( 'ausschluss_cats', 'Kategorien ausschließen', 'k2bssp_g', 'Hier können sie ";"-getrennt verschiedene Kategorien ausschließen. ', 'code' ); new InputField( 'ausschluss_site', 'Seiten ausschließen', 'k2bssp_g', 'Hier können sie ";"-getrennt verschiedene Ids von Seiten ausschließen. ', 'code' ); new InputField( 'ausschluss_private', 'Private Artikel/Seiten ausschließen', 'k2bssp_g', 'Ja/Nein - Die Share Buttons werden wenn "Ja" nicht auf Privaten Artikeln/Seiten angezeigt.', 'code' ); new InputField( 'services_facebook_status', 'Facebook Button anzeigen', 'k2bssp_fb', 'Ja/Nein', '', 'checkbox'); new InputField( 'services_facebook_display_name', 'Anzeigename', 'k2bssp_fb', 'Schreibweise des Service in den Optionen' ); new InputField( 'services_facebook_txt_info', 'Info Text', 'k2bssp_fb', 'Info Text für den Facebook Empfehlen Button' ); new InputField( 'services_facebook_txt_fb_on', 'Statusmeldungon', 'k2bssp_fb', 'Text* der Schalter-Grafik im eingeschalteten Zustand, in der Regel nicht sichtbar für den Benutzer');
new InputField( 'services_facebook_txt_fb_off', 'Statusmeldung off', 'k2bssp_fb', 'Text* der Schalter-Grafik im ausgeschalteten Zustand, in der Regel nicht sichtbar für den Benutzer');
new InputField( 'services_facebook_referrer_track', 'Referrer Track', 'k2bssp_fb', 'Wird ans Ende der URL gehängt, kann zum Tracken des Referrers genutzt werden', 'code' );
new InputField( 'services_facebook_language', 'Sprache', 'k2bssp_fb', 'Spracheinstellung, etwa "de_DE"', 'code');
new InputField( 'services_twitter_status', 'Twitter Button anzeigen', 'k2bssp_tw', 'Ja/Nein', '', 'checkbox' );
new InputField( 'services_twitter_tweet_text', 'Tweet-Text', 'k2bssp_tw', 'Der Text welcher Getwittert wird. Ersetzt wird %title%, %content% und %author% mit dem jeweiligen Post Inhalt. Bei überschreitung von 140 Zeichen wird beim letzten Leerzeichen abgeschnitten und ... angehängt. Am ende jedes Tweets wird immer der Link zum Post angefügt.');
new InputField( 'services_twitter_display_name', 'Anzeigename', 'k2bssp_tw', 'Schreibweise des Service in den Optionen' );
new InputField( 'services_twitter_txt_info', 'Info-Text', 'k2bssp_tw', 'Info Text des Twitter Buttons' );
new InputField( 'services_twitter_txt_twitter_on', 'Statusmeldung on', 'k2bssp_tw', 'Text* der Schalter-Grafik im eingeschalteten Zustand, in der Regel nicht sichtbar für den Benutzer');
new InputField( 'services_twitter_txt_twitter_off', 'Statusmeldung off', 'k2bssp_tw', 'Text* der Schalter-Grafik im ausgeschalteten Zustand, in der Regel nicht sichtbar für den Benutzer');
new InputField( 'services_twitter_referrer_track', 'Referrer Track', 'k2bssp_tw', 'Wird ans Ende der URL gehängt, kann zum Tracken des Referrers genutzt werden', 'code' );
new InputField( 'services_gplus_status', 'Google+-Button anzeigen', 'k2bssp_gp', 'Ja/Nein', '', 'checkbox');
new InputField( 'services_gplus_display_name', 'Anzeigename', 'k2bssp_gp', 'Schreibweise des Service in den Optionen' );
new InputField( 'services_gplus_txt_info', 'Info-Text', 'k2bssp_gp', 'Info Text des Google+ Buttons' );
new InputField( 'services_gplus_txt_gplus_on', 'Statusmeldung on', 'k2bssp_gp', 'Text* der Schalter-Grafik im eingeschalteten Zustand, in der Regel nicht sichtbar für den User');
new InputField( 'services_gplus_txt_gplus_off', 'Statusmeldung off', 'k2bssp_gp', 'Text* der Schalter-Grafik im ausgeschalteten Zustand, in der Regel nicht sichtbar für den User');
new InputField( 'services_gplus_referrer_track', 'Referrer Track', 'k2bssp_gp', 'Wird ans Ende der URL gehängt, kann zum Tracken des Referrers genutzt werden', 'code' );
new InputField( 'services_gplus_language', 'Sprache', 'k2bssp_gp', 'Spracheinstellung, etwa "de"', 'code');
}
}
class InputField {
private $name;
private $caption;
private $section;
private $description;
private $style_class;
private $type;
public $value;
public function __construct($name, $caption, $section, $description, $style_class = '', $type = 'text') {
$this->name = $name;
$this->caption = $caption;
$this->section = $section;
$this->description = $description;
$this->style_class = $style_class;
$this->type = $type;
add_settings_field(
$this->get_id(),
$this->caption,
array(__CLASS__, 'create_field'),
k2bsspAdminPage::$page,
$this->section,
array ( label_for => $this->name, input_field => $this )
);
}
public function get_input_element() {
$options = get_option('k2bssp_options');
return sprintf(
' %s',
$this->name,
K2BSSP_PREFIX,
$this->name,
$this->type,
$this->value,
($this->type == "checkbox" ? '' : 'regular-text'),
$this->style_class,
($this->type == "checkbox" ? checked( $options[$this->name], 'on', false ) : ''),
$this->description
);
}
public function get_id() {
return K2BSSP_PREFIX . $this->name;
}
public function create_field($args) {
global $Default_options;
$field = $args[input_field];
$options = get_option('k2bssp_options');
$value = $options[$field->name];
if ( !$value ) {
$value = $Default_options[$field->name];
if ( !isset($value) ) {
if ( preg_match('/^services_(facebook|twitter|gplus)_(.*)$/', $field->name, $matches ) ) {
$value = $Default_options[services][$matches[1]][$matches[2]];
}
}
}
$field->value = $value;
echo $field->get_input_element();
}
}
?>