wer macht die erste Ausgabe

  • Servus miteinander,

    mein Blog soll eine Sessioncontrol bekommen, die ich selber schreiben möchte.
    Damit ich einen Redirekt mittels header machen kann muss ich mit php eine Ausgabe machen, bevor irgendwas an den Browser zurückgegeben wurde.

    Daher meine Frage: wer schickt denn die erste Ausgabe an den Browser zurück?
    Versuch hab ich schon die header.php - und war mir ziemlich sicher, dass sie das ist - aber anscheinend wird nich was vorher gezogen...

    Kann mir jemand sagen, welche php die erste Ausgabe an den Browser zurück schickt?

    vielen Dank schon mal
    Andy

    • 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

  • Du solltest sowas über ein Plugin realisieren, eine Übersicht über mögliche Hooks findest du in der Doku:
    Plugin API/Action Reference « WordPress Codex

    Eventuell ist dieser Hook für dich interessant:

    Zitat

    init
    Runs after WordPress has finished loading but before any headers are sent. Useful for intercepting $_GET or $_POST triggers.

    Möglich ist vielleicht auch, die functions.php des Themes zu verwenden. Was die Verwendung natürlich auf dieses Theme beschränkt.

  • JEAH - genau was ich wollte!!!
    function in der functions.php definiert, mit add_action an init gehängt - und TUT!

    supergenial! Danke!!

    Einmal editiert, zuletzt von Andy16 (21. März 2008 um 17:40)

  • funzt wirklich - allerdings könnte man das nicht noch besser machen???
    Diese Lösung ist ja nur für dieses Theme (ok, jetzt hab ich die Bemerkung von oben auch verstanden...) und auch bei einem ThemeUpgrade weg!
    Wie hänge ich solche Änderungen in WP ein, dass sie auch einen WP-Update überleben? Hat's da auch einen Mechanismus??? Also ein File, in dem man permanente Änderungen hinterlegen kann, die bei einem Update nicht überschrieben werden...

    schon mal vielen Dank vorweg
    Andy

    Einmal editiert, zuletzt von Andy16 (21. März 2008 um 17:48)

  • Ja. Wie oben bereits erwähnt: erstelle dir für den Code ein Plugin. Verwende deine Funktion aus der functions.php, schreibe einen Plugin-Header in die Datei:


    und speichere das ganze im Plugin-Verzeichnis ab. Jetzt siehst du das Plugin im Backend und kannst es dort aktivieren.

    Mehr: Writing a Plugin « WordPress Codex

  • RTFM wirkt manchmal echt Wunder... das mit dem PlugIn ist ja deutlich einfacher als ich dachte....
    Aaaaalso hab ich den Code aus dem Theme in ein Plugin geklatscht, es tatsächlich gefunden und aktiviert.
    Fehlermeldung: Cannt declade function twice!
    Okok, das ist einfach, steht ja beim Theme noch drin.... Dort also gelöscht und Fehlermeldung ist weg.

    Aaaaaber: Jetzt motzt WP
    "Warning: session_start() [[COLOR=#0000ff]function.session-start[/COLOR]]: Cannot send session cache limiter - headers already sent "
    und das, obwohl der Code der gleiche ist wie vorher....
    Wann wird das Plugin geladen?
    Wenn ich meine function nach wie vor an init hänge sollte doch alles gehen wie vorher???

    totalverwirrt
    Andy
    (PS: gerne nehme ich auch ein RTFM als AW. :-> )

  • Vielleicht noch irgendwelche Leerzeilen im Plugin-Code außerhalb von <?php ... ?> ?

    Plugins an sich werden natürlich vor der 1. Ausgabe an den Browser geladen und ausgeführt. (Irgendwo im Codex gabs auch ne Beschreibung, wann was ausgeführt wird, aber die Stelle finde ich grade nicht... ;-))

  • Hey, kannst Du Hellsehen????
    NEIN, keine Leerzeile, ein simples Space hinter dem ?> hat genügt - und das ist im Editor schon mal schnell untergegangen.... :oops:

    Gracie mille!

    ichhhabeinplugingeschrieben!ichhhabeinplugingeschrieben!ichhhabeinplugingeschrieben!

Jetzt mitmachen!

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