Problem beim verlinken von PHP dateien und nutzen der WP funktionen

  • Hallo lieber Wordpress Gemeinde,

    habe folgendes Problem:

    ich möchte einen Link Counter Erstellen welcher Klicks, auf Links welche extern weitergeleitet werden, zählt.

    Der Link ist folgender maßen aufgebaut

    Code
    <a href="wp-content/plugins/count/count.php?url=LINK">BLABLA</a>

    der würde dann im Browser so aussehen:

    Code
    localhost/wordpress/wp-content/plugins/count/count.php?url=...


    läuft über XAMPP.

    Die Datei wird auch gefunden aber es scheint mir so als ob diese, weil sie nicht intern durch Wordpress abgerufen wird, keinerlei Verknüpfung zu den WP Funktionen hat.

    Die Datei ist folgendermaßen aufgebaut:

    PHP
    $url = addslashes($_GET['url']);    require_once('../../../wp-includes/wp-db.php');        global $wpdb;
        $table_name = $wpdb->prefix . "test";
            Datenbankabfrage und Import.....       
        header("Location: ". $_GET['url']);

    aber das global $wpdb; wird anscheinend nicht übernommen, bekomme da folgende fehlermeldung:

    Code
    [COLOR=#000000][FONT=Times New Roman]Trying to get property of non-object in `zeile mit: [/FONT][/COLOR]$table_name = $wpdb->prefix . "test";[COLOR=#000000][FONT=Times New Roman]`[/FONT][/COLOR]

    Diese Fehlermeldung habe ich sonst immer bekommen wenn ich dieses global $wpdb; nicht gesetzt hatte.

    Habe da schon versucht mit require_once('../../../wp-includes/wp-db.php'); irgendwas hinzubekommen, jedoch ohne erfolg.

    Ich habe auch versucht die Datei als Plugin anzulegen, jedoch auch ohne erfolg.

    Also nun meine Frage, wie bekomme ich das nun hin dass das klappen könnte.

    Vielen Dank.

    • 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

  • So einfach mit dem Eindinden der wp-db.php funktioniert das nicht. Darin ist ja nur die PHP-Klasse enthalten. Das Objekt selbst wird erst im Wordpress-Initialisierungsprozess in der Datei wp-settings.php mit der Funktion require_wp_db erzeugt.

    Wenn man Wordpress-Funktionen außerhalb von Wordpress verwenden will, sollte man das so machen, wie hier am Anfang beschrieben:
    http://codex.wordpress.org/Integrating_Wo…th_Your_Website

    Damit wird garantiert, daß alles richtig initialisiert wird.

    Allerdings würde ich diesen Counter als echtes Plugin realisieren. Das wäre zumindest konsistenter und weniger Störanfällig.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

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