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

Suche Hilfe beim WordPress Plugin (Entwicklung)

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von digiblogger, 21. November 2018.

Schlagworte:
  1. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Hallo ihr lieben,

    ich arbeite gerade an einem simplem WordPress Plugin, dass bereits fertig ist. Lieder hapert es an einer Stelle und ich hoffe, ihr könnt mir helfen.

    Ganz simpel formuliert erzeugt der Shortcode meines Plugins eine Suchbox, die es erlaubt, eine Tabelle mit einer bestimmten ID zu filtern und den Suchplatzhalter, sowie die CSS-Klasse festzulegen.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Es gibt dazu einen JavaScript Funktion in einer JavaScript Datei und eben diese Datei hier:
    Das Problem steckt im fett markierten Bereich, denn gebe ich Beispielsweise den Shortcode

    [tablesearch id="meineTabelle"] ein, so wird für das Event onkeyup=" meinetabelle"] ausgegeben.

    In HTML dann so

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wir verhindere ich, dass
    a) in Kleinbuchstaben umgewandelt wird und
    b) das Leerzeichen davor erscheint.
    c) das ="" vor dem placeholder attribut verschwindet.
     
    #1 digiblogger, 21. November 2018
    Zuletzt bearbeitet: 21. November 2018
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    Kann man anhand des Codes nicht sehen, liegt an Deiner nicht geposteten filterTo(..) Funktion.
     
  3. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Ok dann hier der gesamte Code

    tablesearch.php

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

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wenn ich den Shortcode zum Beispiel so eingebe:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    wird die Suchbox zwar ausgegeben, doch der Quellcode sieht so aus:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Fehler 1:
    Leerzeichen vor meinetabelle
    Fehler 2:
    Es soll MeineTabelle heißen
    Fehler 3
    Das ="" vor placeholder
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    Hier sieht der Quellcode mit Deinem Shortcode und Eingabe Beispiel so aus:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Deaktiviere mal temporär der Reihe nach alle Plugins und teste dazwischen und falls das nicht hilft, verwende temporär ein Standard Theme wie Twenty Seventeen, evtl. gibt es da irgendwelche Filter oder andere Einflüsse. Welche genaue WordPress Version wird verwendet?
     
  5. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Das kann man eigentlich ausschließen.
    Denn wenn ich den Code für die Input Box einfach in den Text Editor des Beitrags eingebe und das Javascript in den Header lade, funktioniert das Ganze wunderbar.

    Nur die Umsetzung via Shortcode klappt nicht.
     
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    Nunja, Du suchst Hilfe.

    Ich teste das und sage Dir, hier funktioniert der gepostete Shortcode Code mit dem geposteten Beispiel einwandfrei.

    Und bei Dir nicht.

    Also kann man nichts ausschliessen... viel Erfolg bei der Lösung.
     
  7. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Ich danke dir für dein Feedback.
    Aber wenn Du genau diesen Code getestet hast, kann das unmöglich klappen und ich weiß imme rnoch nicht, wieso.

    Ich habe nun ALLE Plugins deinstalliert und bin auf WP Standard Theme.

    Die Dateien habe ich 1:1 wie oben übernommen.

    Auf der Seite wurde im Editor das eingegeben:

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

    Fehler:

    Warning
    : call_user_func_array() expects parameter 1 to be a valid callback, function ' tablesearch' not found or invalid function name in /www/htdocs/meinewebsite.de/wp-includes/class-wp-hook.php on line 286

    Ich hab mir auch die class-wp-hook.php angesehen. Das ist ne Stelle, die mit AVOID ARRAY SLICE IF POSSIBLE überschrieben ist und WP Standard zu sein schein.

    Da ich nun keinen fremden Code, keine Plugins und nur noch ein Theme von WordPress aktiv habe, wüsste ich nur zu gerne, wie das bei dir klappen kann.
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    Der PHP-Code aus #1 mit dem Shortcode-Text aus #3 ergibt wie bereits beschrieben die Ausgabe aus #4, und keine PHP-Warnung.

    Wenn man dann den JavaScript Code aus #3 und den Tabellen-HTML-Code aus #5 ergänzt, ergibt das in der Browser Konsole erstmal einen TypeError: document.getElementById(...) is null, was daran liegt, dass meineTabelle nicht in Anführungszeichen steht.

    Wenn man dann im PHP-Code aus #1 die Zeile
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ersetzt durch
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    dann klappt auch das, und bei Eingaben passiert irgendwas mit den Tabellenzeilen, sie werden teils unsichtbar.

    Link zu Deiner Seite mit der Shortcode-Ausgabe?
     
  9. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Das wäre hier.

    http://lords.wikituts.de/cookie/basics/test/

    Du siehst dort auch die Fehlerausgabe. Vielleicht hast Du dazu eine Idee.

    Ich habe das Gefühl, dass die JS-Datei nicht ordentlich geladen wird.
    Wenn ich nämlich zum Beispiel ein Plugin verwende, um JS in den Header zu laden, klappt das Filtern der Tabelle.

    Aber das soll ja über die beiden Files klappen und ohne weiteres plugin.

    Würdest Du mir mal die beiden Files so anhängen, wie sie nun bei dir aussehen.
    Wenn ich deiner Anleitung folge, kriege ich noch mehr Fehler :)
     
  10. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    1. der PHP-Code aus #1 erscheint als Klartext sichtbar im Header der Seite, da gehört er nicht hin.
    2. der Shortcode im Beitrag zeigt für die Parameter sog. Curly Quotes wie z.B. “, da gehören einfache " oder ' hin, das kann auch an 1. liegen, weil der Shortcode gar nicht ausgeführt wird.
    Komplett fertige Lösungen bekommt man in der Jobbörse des Forums. Die freiwilligen Helfer hier im Forum bieten Hilfe zur Selbsthilfe, es geht v.a. darum, dass man versteht, was da passiert, und dadurch selbst lernt..
     

    Anhänge:

    #10 b3317133, 22. November 2018
    Zuletzt bearbeitet: 22. November 2018
  11. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Ich hab den Fehler gefunden. Das Script wahr falsch eingebunden und meiner PHP Datei fehlte der öffnende PHP Tag, was den Fehler auf der Seite erklärt.

    TAUSEND DANK. :)

    Schau mal jetzt. So sollte es passen oder? Gleiche Seite
     
  12. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    6.262
    Zustimmungen:
    557
    Und jetzt wurde offenbar was geändert und alles geht wie es soll.
     

    Anhänge:

  13. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Ja dank deiner Hilfe :) VIelen Dank
     
  14. digiblogger

    digiblogger Member

    Registriert seit:
    25. August 2011
    Beiträge:
    13
    Zustimmungen:
    0
    Hey ich habe da noch ne Rückfrage...

    wie müsste der Code denn aussehen, wenn ich ihn nicht auf Tabellen, sondern auf UL und OL listen anwenden möchte?
     
  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