Daten werden nicht an wp_head angehängt / im header angezeigt
-
Hi,
ich versuche gerade mein eigenes Plugin um eine weitere Funktion zu erweitern.
Daten aus einem Textfeld sollen an den Header und Footer übergeben bzw. im Header und Footer angezeigt werden.Die Eingabe und Speicherung der Daten über das Textfeld in die Datenbank funktioniert.
mit get_option werden die gespeicherten Daten dann geholt und eigentlich mit der add_action in den header/footer übergeben. Sie werden aber nicht im header/footer angezeigt.Ich habe schon mehrere Tests durchgeführt und aktuell gibt er mit mir den Fehler raus wenn ich das Plugin aktiviere:
Das Plugin erzeugte 22 Zeichen mit unerwarteter Ausgabe während der Aktivierung. Wenn du „headers already sent“-Hinweise, Probleme mit Syndication-Feeds oder andere Probleme bemerkst, versuche, dieses Plugin zu deaktivieren oder zu entfernen.
Ich vermute das die add_action an einer falschen stelle steht…
Die Testseite läuft auf localhost mit aktueller WP-Version. Keine weiteren Plugins installiert.
Hier mal der Code-Auszug:
<?php /** * @package myPlugin */ namespace Inc\Base; use Inc\Api\SettingsApi; use Inc\Base\BaseController; use Inc\Api\Callbacks\AdminCallbacks; use Inc\Api\Callbacks\HeaderFooterCallbacks; // Insert Header und Footer Funktion // class InsertHeaderFooter extends BaseController { public $header_scripts; public $footer_scripts; public $settings; public $callbacks; public $callbacks_ihf; public $subpages = array(); public function register() { if ( ! $this->activated( 'ittcp_insert_hf' ) ) return; $this->settings = new SettingsApi(); $this->callbacks = new AdminCallbacks(); $this->callbacks_ihf = new HeaderFooterCallbacks(); $this->setSubpages(); $this->setSettings(); $this->setSections(); $this->setFields(); $this->ittIhafDisplayHeader(); $this->ittIhafDisplayFooter(); $this->settings->addSubPages( $this->subpages )->register(); add_action( 'init', array( $this, 'activate' ) ); add_action( 'wp_head', 'ittIhafDisplayHeader' ); add_action( 'wp_footer', 'ittIhafDisplayFooter' ); } public function setSubpages() { $this->subpages = array( array( 'parent_slug' => 'ittcp_plugin', 'page_title' => 'Insert Header Footer', 'menu_title' => 'Header Footer Funktion', 'capability' => 'manage_options', 'menu_slug' => 'ittcp_header_footer', 'callback' => array( $this->callbacks, 'ittcpAdminIhf' ) ) ); } public function setSettings() { $args = array( array( 'option_group' => 'ittcp_plugin_ihf_settings', 'option_name' => 'ittcp_plugin_ihf', 'callback' => array( $this->callbacks_ihf, 'ihfSanitize' ) ) ); $this->settings->setSettings( $args ); } public function setSections() { $args = array( array( 'id' => 'ittcp_ihf_index', 'title' => 'Insert Header Footer', 'callback' => array( $this->callbacks_ihf, 'ihfSectionManager' ), 'page' => 'ittcp_header_footer' ) ); $this->settings->setSections( $args ); } public function setFields() { $args = array( array( 'id' => 'ittcp_header_scripts', 'title' => 'Header', 'callback' => array( $this->callbacks_ihf, 'textField' ), 'page' => 'ittcp_header_footer', 'section' => 'ittcp_ihf_index', 'args' => array( 'option_name' => 'ittcp_plugin_ihf', 'label_for' => 'ittcp_header_scripts', 'placeholder' => 'header scripts' ) ), array( 'id' => 'ittcp_footer_scripts', 'title' => 'Footer', 'callback' => array( $this->callbacks_ihf, 'textField' ), 'page' => 'ittcp_header_footer', 'section' => 'ittcp_ihf_index', 'args' => array( 'option_name' => 'ittcp_plugin_ihf', 'label_for' => 'ittcp_footer_scripts', 'placeholder' => 'footer scripts' ) ) ); $this->settings->setFields( $args ); } function ittIhafDisplayHeader() { $get_header_and_foooter = get_option('ittcp_plugin_ihf'); $header_scripts = $get_header_and_foooter['ittcp_header_scripts']; print $header_scripts; } function ittIhafDisplayFooter() { $get_header_and_foooter = get_option('ittcp_plugin_ihf'); $footer_scripts = $get_header_and_foooter['ittcp_footer_scripts']; print $footer_scripts; } }
Wenn ich die Variablen &footer_scripts und & $header_scripts einfach mal ausgeben lasse werden mir die Texte angezeigt, die ich in den Textfeldern eingegeben haben und in der DB gespeichert sind.
- Das Thema „Daten werden nicht an wp_head angehängt / im header angezeigt“ ist für neue Antworten geschlossen.