Json Datei bei Plugin

  • Guten Abend,
    Ich schreibe gerade ein WP plugin und möchte meine Konfigurationen und ein paar Daten in einer José speichern. Mein Code Läuft wenn ich Apache direkt auf meinen Plugin-Ordner ansetzte, wenn ich aber im Admin Panel bin dann lädt er die José nicht :(. was mach ich falsch?

    PHP
    $json = file_get_contents("daten.json");
    print_r(json_decode($json, true));
    return json_decode($json, true);


    Vielen Dank im voraus Jürgen

    • 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

  • Der Pfad ist wie schon angemerkt falsch, die Lösung auch schon fast richtig, ausser, dass man hier nicht die URL (wie z.B. für das Einbinden von .js/.css/.json via Frontend) sondern den Server-Pfad braucht, siehe auch Beispiele in der plugin_dir_path() Dokumenation.

    PHP
    $json = file_get_contents( plugin_dir_path( __FILE__ ) . "daten.json" );
  • Vermutlich stimmt der Pfad zur JSON Datei nicht. Du solltest am besten direkt auf das Pluginverzeichnis referenzieren.
    Z.B. hier mit:
    https://codex.wordpress.org/Function_Reference/plugins_url

    Halb OT:
    Gibt es einen bestimmten Grund, warum du die Daten in einer JSON Datei speichern willst und nicht die Settings API verwendest?

    Ich versuche es gleich mal!
    Ja es gibt einen Grund. Ich speichere keine Einstellungen sondern Daten!.Das Plugin hat nicht mit den eigentlichen Wordpress posts zu tun sondern macht was vollkommen unabhängiges (wird außerdem bloß einmal im Quartal benutzt deswegen dachte ich das mit der Json ist am besten). Ich Will bloß nicht den User mit einem weiteren Login irritieren und dachte es währe gleich ganz praktisch das in Wordpress gleich zu implementieren... Ist die Idee den so Dumm?

  • Ist die Idee den so Dumm?

    Nein, "dumm" nicht. Ist mir nur aufgefallen, weil WordPress ja eigentlich alles mitbringt um Daten auch abseits von Posts abzulegen (settings API für Einstellungen und ggf. eigene Datenbank-Tabellen über wpdb für Daten).
    Und speichern in einer Datei hat halt generell Nachteile gegenüber einer Datenbank. Deshalb die Frage. Aber grundsätzlich falsch ist es natürlich nicht...

Jetzt mitmachen!

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