Plugin oder Shortcode für folgenden Code

  • Hallo zusammen,
    erst einmal sorry für die evtl dumme Frage.
    Ich habe mir etwas PHP Programmierung beigebracht.
    Nun habe ich einen Wordpress installation auf der ein eform Plugin am laufen habe, damit schreibe ich über diverse Formulare Daten in eine Datenbank.
    Diese würde ich gerne auslesen und über mein Theme in eine neue Seite einbinden.
    Ich habe die PHP Datei (code folgt) auch bei mir ausserhalb des Wordpress liegen und kann diese dann aufrufen und die tut soweit was sie soll und stellt mir die Tabelle zur Verfügung.
    Jetzt wollte ich das gerne aber mit den Standartseiten verbinden so das die header Links und footer genauso aussehen wie auf meinen Wordpress Seiten, daran scheitere ich gnadenlos.
    Dazu habe ich schon alles gegoogelt und geyoutubed was es so gibt.
    Ich bekomme es einfach nicht hin.
    Weshalb ich mich hoffnungsvoll an euch wenden möchte.
    Vielen Dank schon einmal vorab.
    Hier nun der Code die PHP Datei liegt aktuell im Ordner Wordpress01 und die Seite ist aufrufbar und zeigt die Tabelle an.
    <?php

    require_once('wp-load.php');


    function meinPlugin() {
    global $wpdb;
    $mail =$wpdb->get_results("SELECT * FROM ".$wpdb->prefix."users WHERE user_url LIKE ''");


    echo '<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name"></input>';


    echo '<table id="myTable" border="1"> ';
    echo '<tr>';
    echo '<th>EmailAdresse</th>';
    echo '<th>Login</th>';
    echo '<th>Nutzer</th>';
    echo '</tr>';


    foreach ( $mail as $test )
    {
    echo '<tr>';
    echo '<td>'.$test->user_email ;echo '</td>';

    echo '<td>'.$test->user_login;echo '</td>';

    echo '<td>'.$test->user_nicename;echo '</td>';
    echo '</tr>';

    }

    }
    echo '</table>';

    meinPlugin();

    ?>

    • 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


  • Jetzt wollte ich das gerne aber mit den Standartseiten verbinden so das die header Links und footer genauso aussehen wie auf meinen Wordpress Seiten, daran scheitere ich gnadenlos.

    Dafür schreibt man sich ein Plugin.

    Ich verwende auch jetzt noch gerne https://wppb.me/ man füll das Formuar aus und hat alle notwenigen Dateien und Scipte

    und kann dann "eben" seine Funktionen einbauen.


    echo ist in der Regel keine gute Idee in einer Funktionen oder Plugin

    Code
    echo '<td>'.$test->user_nicename;echo '</td>';

    etwas besser

    Code
    echo '<td>'. $test->user_nicename . '</td>';

    Mit offenen Augen träumen

  • Hallo r23,
    Vielen Dank für die rasche Antwort!
    Ich habe mich gleich auf den Weg gemacht und deinen Tip versucht.

    Also mein Adminbereich hat es wohl durch das Plugin zerschossen, siehe Bild.
    Ich habe das Plugin erstellt und nach besten wissen meinen code dann eingefügt. Das Plugin installiert und aktiviert.
    Danach sah mein Adminbereich aus wie im Bild. Auch taucht die Tabelle nun auf jeder Seite auf ohne das ich irgendetwas aufgerufen hätte.
    Weisst du zufällig was ich da falsch mache, ich versuche das nun schon bestimmt 3 Tage mit googeln und allem drum und drann, ich bin am verzweifeln. heul :)

    hier der Code aus der neuen mw_plugin.php



  • hier der Code aus der neuen mw_plugin.php

    Code
    * Begins execution of the plugin.
    function run_mwplugin() {
    
    
        $plugin = new Mwplugin();
        $plugin->run();
    
    
    }

    Print war eigentlich auch nicht gemeint...


    Evtl. beginnst du mit einem einfachen Shortcode

    und an der Stelle, wo du die Ausgabe braucht, fügst du

    [meinshortcode]

    ein.

    Mit offenen Augen träumen

  • Hallo r23,
    Danke auch für diese Antwort, ok dann erst mal kleiner Anfangen :)
    ok habe ich geschafft, die Tabelle wird nun angezeigt.
    Aber von der Datenbank auslesen werde ich wohl noch ein Stückchen weg sein denke ich.

    Hat jemand noch ne Idee wie ich das angehen könnte.
    Vielen Dank vorab

    Einmal editiert, zuletzt von woellnerm (13. April 2021 um 19:41)

  • Code
    function run_mwplugin() {
    
    
        $plugin = new Mwplugin();
        $plugin->run();
    
    
    }

    Wo ist die PHP Klasse? Und warum gibt es zusätzlich einen prozeduralen Ansatz? Und warum wird die Ausgabe unspezifiziert auf jeder Seite im Frontend und Backend erzeugt? Und wozu der SQL Select anstatt get_users()? Das Ganze ist doch sehr weit weg von einem Plugin.

    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.


  • Aber von der Datenbank auslesen werde ich wohl noch ein Stückchen weg sein denke ich.

    Wenn die Tabelle dir angezeigt wird, bist du doch schon ein Stück weiter?

    Selbstverständlich kannst du die Funktion von deinem Shortcode erweitern.

    Mit offenen Augen träumen

  • Hallo Shadow, r23,mensmaximus,

    Danke für eure Kommentare, speziell r23 danke für die Mühe.

    an den Rest, sorry das ich gefragt habe, mein Ziel war es nicht ein Plugin zu schreiben, ich wollte einfach die Tabelle in Wordpress ausgeben.
    Mich hat gewundert das die PHP Seite außerhalb Wordpress macht was sie soll und ich hätte das Ergebniss eben nur mit meiner Wordpress Installation ausgegeben.
    Es ist auch ein schönes Gimmick Daten aus der Datenbank zu lesen und diese auszugeben, benötige ich für mehrere Daten welch ich über ein Plugin eingebe.
    Also nochmal Danke.
    Sollte noch jemand ne Idee haben wie man das leicht mit wenig PHP kenntnissen hinbekommen kann wäre ich froh über etwas Anregung und noch mehr würde ich mich über eine Lösung freuen :-)
    Bis die Tage

  • Hallo zusammen,
    ich habe es nach noch mehr googeln ca. 3Tage dann doch noch geschafft.
    Sollte noch so ein Dau wie ich das gleiche versuchen wollen hier nur mal die Beschreibung wie ich es geschafft habe.
    Ob das git oder nicht ist, kann ich nicht sagen aber es macht das was es soll.
    In meinem Fall wollte ich über Wordpress Daten aus der Datenbank auslesen welche von einem Plugin in diese geschrieben wurde.
    An meinem Beispiel halte mich an die "users" Tabelle von Wordpress selbst damit Ihr es auch nachspielen könnt.

    Als erstes habe ich mir eine lokales Wordpress mit xampp installiert, völlig nackt.

    Dann habe ich im aktiven Theme bei mir war es das Theme 2021, auf meiner gehosteten Site war es Sydney,
    unter dem ordner C:\xampp\htdocs\wordpress\wp-content\themes\twentytwentyone die Datei page.php kopiert in den gleichen Ordner eingefügt mit einem Namen meiner Wahl in meinem fall war das "Marc.php", das war der Original Code aus der page.php


    diesen habe ich im Kopf dann folgendermaßen abgeändert!

    PHP
    <?php
    /*
    Template Name: marc
    */


    Den Rest der Datei hatte ich gelassen wie es war.
    Dann habe ich meine Funktion eingefügt welche wie gesagt die Tabelle "useres" von Wordpress abfragt und in einer Tabelle ausgibt.
    darüber habe ich dann noch ein Suchfeld welches aber nur auf die erste spalte der Tabelle funktioniert.

    der komplette Code der neuen Marc.php sieht nun so aus.

    So warum habe ich die Datei "Marc.php" erstellt.
    das gab mir die Möglichkeit Wenn ich in Wordpress eine neue Seite gestalte dann Als Template dann meine Datei Marc.php auszuwählen.
    Nun das hat bei mir funktioniert. Ich hoffe ich konnte damit jemandem Helfen, wie gesagt, ob es Sicher ist ob es richtig ist usw, kann ich nicht beantworten jedoch funktioniert es bei mir. Und ich weiss wenn das Theme mal ein Update hat, sollte ich schauen ob die Datei Marc.php noch da ist und macht was sie soll.

    Viel Spass!!

Jetzt mitmachen!

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