Wann wird die functions.php ausgeführt

  • Hi,
    ich spiele grad ein bisschen mit meinem Theme rum und wollte verschiedene Funktionen schreiben. z.B. eine zum Übersetzen der Theme eigenen Wörter.

    Nur irgendwie scheint er die functions.php (in der die Übersetzung steht) nicht rechtzeitig auszuführen. Es funktioniert wunderbar in der index.php.
    Aber in der Sidebar.php oder footer.php führt er den Funktionsaufruf mich aus.

    Warum? Hat er die functions.php da nicht geladen?

    Wenn ja, wie bekomme ich die als aller erstes geladen?

    Danke

    Gruss the0bone || aktuelles Projekt: WP als CMS ||

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • hi 0bone,

    das problem muss eine andere ursache haben... die functions.php wird über die wp-settings.php geladen, welche ja sowieso geladen wird.

    jetzt müsste man mal schauen, welche funktion aus der functions.php du einsetzen willst und was da drin steht (sprich, welches theme ist basis deines themes).

    vG

    Arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

  • Moin Arno,
    Basis ist keines :-D

    Die function ist:

    Der "Aufruf" aus der index geht.

    PHP
    <?php echo $yourhp_translation["inCategory"]; ?>

    Aus der footer aber nicht:

    PHP
    <?php echo $yourhp_translation["Pages"]; ?>

    Gruss the0bone || aktuelles Projekt: WP als CMS ||

  • gehe ich recht in der annahme, das du die auflistung der array-konstanten gekürzt hast und das komma hinter der "pages"-konstante keinen fehler darstellt?

    ansonsten: sorry, aber den fehler hatte ich noch nicht ;) vielleicht weil ich die entsprechenden befehle ( '_()' bzw. '_e()') einsetze um meine themes mit languagepacks auszuzeichnen, so ich mich denn selbst daran versuche....

    vG

    Arno

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

  • gehe ich recht in der annahme, das du die auflistung der array-konstanten gekürzt hast und das komma hinter der "pages"-konstante keinen fehler darstellt?


    Jep, ist ein Auszug. Aber ob mit oder ohne das Komma ändert das nichts. (Auch wenn das letzte Komma nicht ganz PHP konform ist, geht es in meiner Testdatei auch mit :mrgreen:)

    Ich kann aus der Index jede Variable ansprechen, aus der sidebar und footer nicht eine :cry:
    Jemand anderes ne Idee?

    Oder ich mache das Ding nur auf Deutsch für WPD :twisted:

    Gruss the0bone || aktuelles Projekt: WP als CMS ||

  • nunja, wenn du schon internationalisiern möchtest, würde ich auf die bewährten methoden setzen ;)

    letztlich wird der footer über "get_footer()" und die dahinterliegende funktion "load_template()" über ein normales "require_once()" geladen. von daher ist's mir erstmal schleierhaft, warum das array nicht ausgelesen werden können sollte.

    einzig habe ich mir den array-extrakt in der funktion

    (wp-includes\theme.php) jetzt noch nicht genauer angesehen. ob's daran liegt? k.a.!

    vG

    Arno

    ps setz doch mal ein

    PHP
    global $yourhp_translation;

    an den anfang deines footers

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

    Einmal editiert, zuletzt von Arno Simon (27. Januar 2008 um 14:06)

  • Das ist wie immer eine Scope-Geschichte: Funktionen kennen nur die Variablen, die sie selbst definieren sowie global definierte. Der Footer wird über die Funktion get_footer() eingefügt, die wiederum kennt die Variable $yourhp_translation noch nicht. Ein global $yourhp_translation; am Anfang der footer.php (bzw. sidebar.php) ist also in der Tat die Antwort auf das Problem.

    Nur der Vollständigkeit halber :mrgreen:

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Ok, so in der Art jetzt realisiert! :-D Danke euch beiden!

    PHP
    function yourhp_translate($word) {
        global $yourhp_translation;
        echo $yourhp_translation["$word"];
    }

    Gruss the0bone || aktuelles Projekt: WP als CMS ||

  • ich will nicht böse sein, will mich aber dennoch hier wiederholen ;)

    warum nutzt du nicht die standardfunktionalitäten, welche von wp mitgebracht werden?

    Feedback ist Wichtig!|FAQ|Rückfragen im Forum!|Wenn ich mal was vergesse.... einfach mal sagen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!