1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Plugin oder Shortcode für folgenden Code

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von woellnerm, 13. April 2021.

  1. woellnerm

    woellnerm Member

    Registriert seit:
    13. April 2021
    Beiträge:
    5
    Zustimmungen:
    0
    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();

    ?>
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    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:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    etwas besser

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  3. woellnerm

    woellnerm Member

    Registriert seit:
    13. April 2021
    Beiträge:
    5
    Zustimmungen:
    0
    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

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    Unbenannt.PNG
     
  4. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    Print war eigentlich auch nicht gemeint...


    Evtl. beginnst du mit einem einfachen Shortcode

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    und an der Stelle, wo du die Ausgabe braucht, fügst du

    [meinshortcode]

    ein.
     
  5. woellnerm

    woellnerm Member

    Registriert seit:
    13. April 2021
    Beiträge:
    5
    Zustimmungen:
    0
    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
     
    #5 woellnerm, 13. April 2021
    Zuletzt bearbeitet: 13. April 2021
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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.
     
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.317
    Zustimmungen:
    582
    Wenn die Tabelle dir angezeigt wird, bist du doch schon ein Stück weiter?

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

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  8. Shadow

    Shadow Well-Known Member

    Registriert seit:
    12. Februar 2007
    Beiträge:
    2.969
    Zustimmungen:
    57
  9. woellnerm

    woellnerm Member

    Registriert seit:
    13. April 2021
    Beiträge:
    5
    Zustimmungen:
    0
    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
     
  10. woellnerm

    woellnerm Member

    Registriert seit:
    13. April 2021
    Beiträge:
    5
    Zustimmungen:
    0
    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
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    diesen habe ich im Kopf dann folgendermaßen abgeändert!

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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.
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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!!

    upload_2021-4-17_21-10-11.png
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden