• Gelöst dkwpssbh

    (@dkwpssbh)


    Hallo Forum,

    ich entwickle gerade lokal eine Seite, die ich um eigene Shortcodes erweitert habe.

    Basis für mein Sportcode-Plugin ist https://github.com/ahmadawais/WP-Shortcode-Boilerplate.
    Sowohl die Vorlage als auch mein „Fork“ lassen sich ohne Fehlermeldung installieren und auch die von mir erstellten Shortcodes funktionieren tadellos.

    Problem: In twentyseventeen blockiert meine Version des Plugins die Textauswahl (left click, über den Text ziehen) und Klicks auf z.B. einen range-slider in der OnePage-Ansicht (user frontend), während ich in den einzelnen Seiten beides tun kann.

    Ich finde das merkwürdig… Mein Plugin ist schuld, soweit habe ich den Fehler eingegrenzt. Es unterscheidet sich -außer im Inhalt der Shortcodes – überhaupt nicht von der Vorlage, die diesen Effekt nicht hat.

    Gibt es eine Erklärung, die man nach diesen wenigen Angaben schon geben kann?

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)
  • Hallo @dkwpssbh und willkommen im Forum,

    bei der Fehlerbeschreibung „Mein Plugin ist schuld, soweit habe ich den Fehler eingegrenzt.“ wäre die einfachste Lösung, das entweder nicht zu nutzen oder den Fehler zu korrigieren. Zu einer Korrektur können wir dir hier aber bisher wenig sagen, weil wir nicht wissen, was du da eingegeben hast. Vielleicht magst du ja ein wenig ausführlicher beschreiben, was du probiert hast und welchen Code du wo eingegeben hast.

    Thread-Starter dkwpssbh

    (@dkwpssbh)

    Hallo Bego,

    vielen Dank für das herzliche „Willkommen“.

    Das Plugin dient dazu, php innerhalb von WordPress darzustellen/auszuführen, was ja nicht so einfach möglich ist. Ganz kurz gesagt schreibt es die Ausgabe meiner php-Berechnungen in einen String, der html und javascript enthält. Dieser wird mit „return“ innerhalb unterschiedlicher WordPress-Seiten ausgegeben. Das entspricht der Funktionalität des oben angegebenen Plugins.

    Dessen Quelltext registriert shortcodes in der Art und Weise, dass der Output einer Funktion als String in die WordPress-Seite eingefügt wird.

    Merkwürdig in dem Zusammenhang finde ich, dass wenn ich mir meine Seiten einzeln anschaue, keinerlei negative Auswirkungen zu betrachten sind, und dass der Effekt nur auftritt, wenn ich twentyseventeen als OnePage betrachte.

    Das Plugin nicht zu verwenden, ist daher keine Option, weil ich die Daten darstellen möchte.

    <div style="max-width:800px; max-height:600px;"><div class="row" style="height:200px;"><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="1b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="1a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("1","http://localhost/wp-content/uploads/cards/front1.jpg");},800);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="2b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="2a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("2","http://localhost/wp-content/uploads/cards/front2.jpg");},600);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="3b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="3a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("3","http://localhost/wp-content/uploads/cards/front3.jpg");},400);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="4b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="4a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("4","http://localhost/wp-content/uploads/cards/front4.jpg");},400);</script></div></div><div class="row" style="height:200px;"><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="5b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="5a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("5","http://localhost/wp-content/uploads/cards/front5.jpg");},200);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="6b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="6a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("6","http://localhost/wp-content/uploads/cards/front6.jpg");},400);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="7b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="7a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("7","http://localhost/wp-content/uploads/cards/front7.jpg");},0);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="8b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="8a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("8","http://localhost/wp-content/uploads/cards/front8.jpg");},800);</script></div></div><div class="row" style="height:200px;"><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="9b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="9a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("9","http://localhost/wp-content/uploads/cards/front9.jpg");},400);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="10b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="10a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("10","http://localhost/wp-content/uploads/cards/front10.jpg");},600);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="11b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="11a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("11","http://localhost/wp-content/uploads/cards/front11.jpg");},200);</script></div><div class="col-xs-3" style="padding:0; margin:0;"><div class="card"><div class="front"><canvas class="can" id="12b">No Canvas.</canvas></div><div class="back"><canvas class="can" id="12a">No Canvas.</canvas></div></div><script>setTimeout(function(){animate_whole("12","http://localhost/wp-content/uploads/cards/front12.jpg");},200);</script></div></div></div>

    ist z.B ein String, der eingefügt wird. Hilft das mehr beim helfen?

    Das Plugin dient dazu, php innerhalb von WordPress darzustellen/auszuführen, was ja nicht so einfach möglich ist. Ganz kurz gesagt schreibt es die Ausgabe meiner php-Berechnungen in einen String, der html und javascript enthält.

    Wieso erstellst du dazu nicht ein eigenes Plugin? Das wäre erheblich schlanker.

    Datei schoener-shortcode.php:

    <?php
    /**
     * Plugin Name: Mein schöner Shortcode
     * Description: Fügt eigenen Shortcode hinzu
     * Author: dkwpssbh
     * License: GPL2
     */
    
    if(!defined(ABSPATH)){exit;}
    
    function shortcode_callback_func() {
    	$out = ''; // beliebigen Inhalt hinzufügen
    	return $out;
    }
    add_shortcode( 'mein_shortcode', 'shortcode_callback_func' );
    

    in ein Verzeichnis schoener-shortcode packen, komprimieren, wie gewohnt installieren.

    Zwischen die Hochkommas (bei „beliebigen Inhalt einfügen“) packst du deinen Code, wobei ich nochmal prüfen würde, ob die Anzahl der öffnenden und schließenden <div></div>-Tags stimmt. Den Shortcode [mein_shortcode] kannst du dann an beliebiger Stelle in Beiträgen und Seiten einfügen.

    Wozu du da ein ganzes Shortcode-Framework benötigst, ist mir nicht klar.

    Thread-Starter dkwpssbh

    (@dkwpssbh)

    Vielen Dank für den zugegebenermaßen schlanken Code 🙂 und den Tip mit den DIVs.
    Die waren es nicht.
    Ich habe allerdings schon 7 Shortcodes erstellt, die jeweils bis zu 35 Zeilen Code ausgeben. Deshalb halte ich das modifizierte Plugin (1 Seite Plugin (im wesentlichen der Code von oben), jeweils eine Seite Shortcode) für mein Mittel der Wahl.

    Das „merkwürdige“ Verhalten hat sich aufgeklärt, in der Zwischenzeit.
    Einer der Shortcodes (Buch zum Umblättern) hat die Seite gekapert …

    Fehlerquelle war die Zuweisung der Maus-Events zum umblättern für die ganze Seite, nicht für das Buch, d.h. egal wo man die Maus bewegt hat, hat man umgeblättert, allerdings, ohne es zu sehen. Ts, ts.

    Vielen Dank, und bis bald.

    • Diese Antwort wurde geändert vor 6 Jahren, 2 Monaten von dkwpssbh. Grund: mehr Dank, weniger Dank
Ansicht von 4 Antworten – 1 bis 4 (von insgesamt 4)
  • Das Thema „Merkwürdiges Verhalten – eigenes Plugin“ ist für neue Antworten geschlossen.