Datei in functions.php über require_once () wird nicht echo?

Ich versuche, eine Datei über require_once () zu laden, um einige erweiterte functionen in meinem Thema zu behandeln. Ich könnte den gesamten Code direkt in functions.php einfügen, aber ich versuche diesen Code in ein eigenes Skript zu isolieren.

Die Datei ist widget_context.php (siehe Code unten) und im Moment versuche ich einfach, jedem Widget einen Text zurückzugeben. Es funktioniert gut, wenn ich das Echo direkt von der function mache, die die Datei aufruft.

Ich kann jedoch das Echo oder die Rückgabe (aus der Datei widget_context.php) nicht im Widget anzeigen.

Was vermisse ich?

Diese function befindet sich in der function functions.php

add_filter('in_widget_form', 'widget_context'); function widget_context(){ //echo works here: //echo 'in widget form'; $widgets_context_file = TEMPLATEPATH . "/widget_context.php"; require_once($widgets_context_file); } 

Hier ist der Inhalt von widget_context.php

  

Solutions Collecting From Web of "Datei in functions.php über require_once () wird nicht echo?"

Ich bin mir nicht sicher, warum, aber aus irgendeinem Grund müssen Sie include() oder require() in form() anstelle von include_once() und require_once() . Ich nehme an, dass form () mehrmals aufgerufen wird, und so wird die externe Ansichtsdatei nur beim ersten Mal eingeschlossen. include_once() und require_once() funktionieren innerhalb von widget() , aber es ist immer noch besser, include() und require() zu verwenden, falls das Widget mehrere Instanzen hat.

Wenn Sie dies jemals getriggers haben, teilen Sie bitte die Antwort für andere. Ein möglicher Grund für das, was Sie erlebt haben, ist, wenn Sie in einem Kinderthema waren. TEMPLATEPATH verweist auf das übergeordnete Thema, und STYLESHEETPATH ​​verweist auf das untergeordnete Thema.