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

"Eigene Erweiterung" wie kann ich das sicher umsetzen?

Dieses Thema im Forum "Konfiguration" wurde erstellt von einfach112, 22. April 2017.

  1. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hallo zusammen.
    Ich habe zwar Grundkenntnisse in PHP und MYSQL aber was ich gerade vor habe könnte meinen Hoirzont etwas übersteigen.... Daher benötige ich etwas Hilfe welche ich selber zumindest nicht im forum gefunden habe...:
    Ausgangssituation:
    WP aktuelle Version gerade installiert.
    Theme = Twentyfiftten
    keine plugins oder sonstiges.....

    Ziel:
    Ich erstelle eine Neue Seite Name: Suchoption
    (wenn ich diese Seite aufrufe sieht es aktuell so aus: meinedomain/suchoption/ )
    wenn diese Seite geöffnet wird später vom User, soll ein textfeld erscheinen in dem der User eine Zahl eingeben kann; Beispiel hier"12345"
    diesen Wert möchte ich gerne an ein eigenes PHP skipt in einer von mir selbst erstellen Datei übergeben (Dateiname: auswerten.php)
    diese Datei wertet dies fünfstellige Zahl aus und gibt mit ein array zurück. dieses Array (kann 1 bis x 5 stellige Zahlen zurück geben . Beispiel "54321,11223,22334"
    dieses Array soll wie gesagt zurück am besten zu meine Seite "suchoption" zurück gegeben werden. Ein loop welcher die zahlen entgegen nimmt sucht in meinen Beiträgen anhahnd eines Customfield ob die zahl in einem Beitrag vorhanden ist. wenn ja wird dieser Beitrag angezeigt in einer Liste. Wenn nicht wird halt nichts angezeigt.

    Mein Problem ist das egal wo ich such entweder jemand was gegen die übergabe per "post" hat und auf anderen Seiten im Netz sagen Sie nimm nie "get"
    Meine Idee bzw. mein aktueller stand ist das ich meine
    "suchoption" seite erstellt habe.... ich habe die page.php in meinem theme erweitert mit:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wenn ich jetzt eine 5 stellige Zahl in mein textfeld eintrage und auf ok klicke öffne sich eine 404 Seite "Seite wurde nicht gefunden"
    in der Adresszeile steht:
    domain.de/suchoption/auswerten.php

    hier fängt es also schon an mit den Problemen....
    Wo genau ist der Fehler zu finden? muss ich am besten irgendwas an den permalink einstellungen ändern?
    oder sollte ich in diesem fall php_self verwenden und mein ganzes script ist die page.php einfügen zur auswertung?
    bzw. was ist der sicherste weg daten in wordpress vom user entgegen zu nehmen diese in einem eigenen skript zu bearbeiten und dann wieder zurück zu geben?



    Danke im voraus
    einfach112
     
  2. danielgoehr

    danielgoehr Well-Known Member

    Registriert seit:
    13. Juli 2016
    Beiträge:
    2.674
    Zustimmungen:
    128
    Ich würde die Logik gar nicht in eine externe Datei "auslagern", sondern in dem Fall (fürs erste) direkt in die page.php schreiben.
    Wenn am Ende alles funktioniert, könntest/solltest du das ganze aber vielleicht lieber in ein Plugin (oder die functions.php des Themes) auslagern und das Formular per Shortcode einbinden.

    Ob du nun GET oder POST bevorzugst, musst du am Ende selbst entscheiden. Beides sollte funktionieren.

    Wenn du es so machst, wie ich oben geschrieben habe, brauchst du kein "action"-Attribut. Beim Submit werden die Daten dann an die selbe Seite gelitet, die das Formular enthielt. Du kannst also direkt in der page.ph die Auswertung/Weiterverarbeitung machen.
     
  3. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hallo Danielgoehr,
    vielen Dank für deine Antwort.... Ja das habe ich mir jetzt auch schon so gedacht und sagar teilweise umgesetzt ... mein problem ist das ich akutell nicht weis, wie ich mein php ergebnis in der page.php so einbauen kann, das es im Contentbereich angezeigt wird.... nutze aktuell nur zu testzwecken twentyfifteen als theme .... habe in der index.php dort folgenden text gefunden :
    /*
    * Include the Post-Format-specific template for the content.
    * If you want to override this in a child theme, then include a file
    * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    */
    get_template_part( 'content', get_post_format() );

    Mein Englisch ist leider nicht das beste .....
    Aber wenn ich das richtig verstehe brauche ich doch nur eine Datei namens content-MEINCODE.php erstellen und diese in den theme ordner kopieren.... und dann beim erstellen einer Seite dieses "TEMPLATE" dann unter Seiten-Attribute auswählen.... Leider wird unter Seiten-Attribute nur Eltern und reihenfolge angezeigt.... habe auch schon alles unter Ansicht anpassen versucht ... aber auch kein erfolg... weiss du ob ich zusätzliche Content-X.php dateien erst irgendwo registrieren muss ?
    Deine Idee das alles in die Page.php zu machen fände ich natürlich noch besser .... aktuell habe ich auf der page.php meine textbox drin... leider über dem content... nach abschicken der Daten wird mir das ergebniss auf der index.php ausgegeben .....
    Was soll ich nur machen ?


    Danke im voraus
    einfach112
     
  4. danielgoehr

    danielgoehr Well-Known Member

    Registriert seit:
    13. Juli 2016
    Beiträge:
    2.674
    Zustimmungen:
    128
    Das habe ich jetzt leider nicht so richtig verstanden.

    Vorsicht: Das mit der page.php war nur als Zwischenschritt gedacht zum Testen/Erstellen gedacht. Langfristig würde ich es da nicht lassen (auch wenn es theoretisch funktionieren würde).
    Warum wird denn nach Abschiucken der Daten die index.php angezeigt? Wie sieht denn dein Formular momentan aus und in welcher Seite (und welchem Template) wird es angezeigt?
     
  5. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    Hi sorry das ich immer so umständlich / unverständlich schreibe....
    Also ...Mein Code in der page.php sieht aktuell so aus (Auszug):
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!




    Wenn ich dann meine Zahl in das o.g. Textfeld eingebe und auf OK klicke öffnet sich die Seite index.php (so steht es in der Adresszeile) dort werden die ergebnisse dann auch angezeigt per:

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


    als ergebnis wird mir derzeit ausgegeben:
    12345
    23451
    34512
    45123
    51234


    Natürlich würde ich gerne eine andere Seite als die index.php für die ergebnisse verwenden.
    1. Weil Sie später meine Startseite sein soll
    2. ich bin noch nicht ganz fertig .... es sollen später nicht die Zahlen ausgegeben werden sondern es soll nach Beiträgen gesucht werden welche in einem customfield die o.g. zahlen enthalten.


    Ist das so verständlich ?
    Ich hoffe mal ja ?

    Und schon einmal VIELEN VIELEN DANK für deine Hilfe ! ! !
     
  6. danielgoehr

    danielgoehr Well-Known Member

    Registriert seit:
    13. Juli 2016
    Beiträge:
    2.674
    Zustimmungen:
    128
    Wie gesagt, lass das "action" Attribut mal testweise ganz weg (ist in HTML 5 ohnehin optional).
    Ich würde sagen, er müsste dann die POST-Daten an die aktuelle Seite/URL übergeben.
     
  7. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    ja cool ! das geht schon einmal .... jetzt würde mich am aller meisten noch interessieren wie ich diese page.php irgendwie kopieren und unter anderem namen speichern kann und ich dann sagen kann wenn Seite ->id 6 geöffnet wird dann öffne sie in der MYCONTENT-page.php oder so ähnlich ?
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Kopiere die Datei page.php in eine neue Datei page-6.php, diese Datei wird dann nur aufgerufen, wenn die Seite mit ID=6 angezeigt wird. Siehe auch hier.
     
  9. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    wie geil ist dass denn ? cool ! Danke !
     
  10. einfach112

    einfach112 Well-Known Member

    Registriert seit:
    15. April 2014
    Beiträge:
    123
    Zustimmungen:
    0
    ENDGEIL ! also wordpress ist noch viel besser als ich es ohnehin schon dachte ..... Aber jetzt stehe ich mit meinen php-kenntnissen vor dem nächsten Problem.

    Wobei diese Problem schon sehr brutal ist....
    Also : über meine Textbox oben gebe ich ja eine Zahl ein bsp 12345
    nach klick auf ok wird die seite neu geladen.... dann erhalte ich auf meiner neu geladenen Seite ein Ergebnis wie folgt
    23451
    34512
    usw usw ... diese zahlen kommen aus der bereits o.g. sql : (SELECT .......... { echo $row->ergenis; echo "<br />";}?><?php} ?>
    jetzt muss ich es noch schaffen irgendwie eine Schleife zu basteln welche mir die zahlen aus dem ergebnis in folgende Zeilen rein macht und immer wieder druchläuft bis das keine ergebnisse mehr vorhanden sind :
    query_posts('meta_key=plz&meta_compare==&meta_value=XXX HIER MÜSSTEN DIE ERGEBNISSE DURCHLAUFEN XXX &orderby=meta_value&order=DESC');
    könnte mir da noch jemand helfen?
    DANKÖ
     
  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