Globale Produktkategorie über alle pages

  • Hallo zusammen,

    ich versuche seit Stunden eine globale Variable in einer Funktion in function.php zu setzen, diese Funktion wird über ein AJAX-Call von einer Kategorien-Auswahlseite ausgeführt. In dieser Funktion möchte ich eine globale Variable setzen, damit ich auf der archive-product.php nach der gesetzten Variable (Product-Category) prüfen kann. Danach wird auf die /?product_category=xxx referenziert.

    Das Setzen der Variable in der aufgerufenen Funktion funktioniert nicht, denn auf der archive-product.php ist diese immer NULL. Setze ich die Variable außerhalb der Funktion in function.php ist sie aber ersichtlich auf der archive-product.php.

    An was liegt das?

    Folgendes hatte ich bereits probiert:
    - global
    - Superglobale mit $global
    - singleton

    ...

    ich werde noch verrückt...

    • 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

  • Für AJAX Anwendungen bietet sich immer wp_localize_script an.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hm ich verstehe den Zusammenhang der Methode mit meinem Problem nicht. Mein Ajax-Request funktioniert ja einwandfrei. Einzig das Setzen der globalen Variable funktioniert nicht. Vllt. kannst du mir den Zusammenhang erläutern.

  • Mit [COLOR=#333333]wp_localize_script kannst Du Variablen aus PHP in den Quellcode der Webseite schreiben und via jQuery wieder auslesen. [/COLOR]

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ich verstehe. Mein Problem ist aber das Setzen einer globalen php-Variable zwischen function.php und archive-product.php.

    Dann speichere die Information in einem Transient.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

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