Wordpress Plugin-Development - Tipps gesucht

  • Hallo zusammen,

    ich habe mit PHP vor ein paar Monaten eine umfangreiche und Datenbank-gestützte Software geschrieben.
    Umfangreich ist ja schwer zu beschreiben. Es stecken ca. 4 Wochen Programmierarbeit drin.
    Ich bin mit meinem Endprodukt zufrieden. Ich wäre noch mehr zufrieden, wenn ich aus der Software ein Wordpress-Plugin zaubern könnte. Das würde mir viele Vorteile bringen (User-Management, usw.)

    Ich habe versucht mich in das Thema Wordpress-Plugin Development einzulesen und habe begonnen ein Plugin auf Basis von "DX Plugin Base" zu schreiben.

    Stand bisher:
    -Plugin wird installiert. Nach dem Aktivieren werden meine eigenen Tabellen schön in der SQL-Datenbank angelegt.
    Beim Deaktivieren des Plugins werden meine Datenbanken wieder gelöscht. (zum Testen)
    -Meine CSS-Stylesheets und JS werden auf der Seite eingebunden.
    -Ich kann ein "Hello World" über einen Shortcode ausgeben.


    Soweit so gut.
    Jetzt habe ich gefühlte 1000 Fragen zu wie ich was am besten mache, aber ich werde es bei einer einzigen belassen, die mir am meisten unter den Nägeln brennt:

    Nehmen wir an in etwa so etwas soll jetzt auf einer Wordpress-Seite per Shortcode oder wie auch immer eingefügt werden:

    Da haben wir ein Grid-System, Breadcrumbs, Formularfelder, Javascript-Bereich, Tabellen gefüttert mit Werten aus der DB uvm.
    Das ist ziemlich viel HTML-Code.

    Wie gebe ich das jetzt bei der Plugin-Programmierung am besten aus?

    Ich habe jetzt zum Ausgeben das folgende Codeschnippsel:

    So, das funktioniert. Der HTML-Code wird auf der Seite ausgegeben.

    Aber mal ehrlich. Für ein einfaches Hello-World ist es wohl OK! den HTML-Code in einem String zu speichern und diesen dann auszugeben.
    Für das was ich vorhabe ist das aber ungeeignet und wenig komfortabel.

    Das fängt schon damit an, das ich beim HTML-Coden kein Syntax-Highlighting habe, da alles im PHP-String steht.
    Es geht damit weiter, dass ich wahrscheinlich innerhalb des Strings keinen PHP-Code ausführen kann. (Schleifen, Bedingungen, ...)

    Ich denke, dass ich mein Anliegen einigermaßen ausreichend geschildert habe.

    Kann mir da bitte jemand ein paar Tipps geben, wie ich da am besten vorgehen kann/soll.

    Vielen Dank im Voraus!

    Und ja, ich kenne die Seite "http://codex.wordpress.org/Writing_a_Plugin" und die sonstigen üblichen Verdächtigen.

    • 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


  • So, das funktioniert. Der HTML-Code wird auf der Seite ausgegeben.

    Aber mal ehrlich. Für ein einfaches Hello-World ist es wohl OK! den HTML-Code in einem String zu speichern und diesen dann auszugeben.
    Für das was ich vorhabe ist das aber ungeeignet und wenig komfortabel.

    mach ein update auf brootstrap 3.x
    trenne php und aussehen
    wenn css wirklich nötig ist, verwende less.


    Das fängt schon damit an, das ich beim HTML-Coden kein Syntax-Highlighting habe, da alles im PHP-String steht.
    Es geht damit weiter, dass ich wahrscheinlich innerhalb des Strings keinen PHP-Code ausführen kann. (Schleifen, Bedingungen, ...)

    keine Ahnung in welcher Umgebung du unterwegs bis... aber bei meinem Projekt empfehle ich Netbeans. Für Netbeans gibt es ein Wordpress Pluigin.

    Wie man dies als Entwickler verwendet, habe ich im Handbuch für mein Projekt vor ein paar Tagen beschrieben:
    http://doku.oos-shop.de/myoos-benutzer…t/netbeans-ide/

    evtl. helfen dir die Links bei deiner Plaung weiter?

    cu

    ralf

    Mit offenen Augen träumen

  • Und ja, ich kenne die Seite "http://codex.wordpress.org/Writing_a_Plugin" und die sonstigen üblichen Verdächtigen.


    wirkliche alle Verdächtigen SEiten :confused: ich kenne einigen Jahren Pluginentwicklung noch immer nicht alle 8)

    was macht dieser PHP Code im Shortcode Beispiel? soll der Code angezeigt werden, dann dachte ich mir, dieser kommt aus der Datenbank, oder verstehe ich dein Anliegen nicht.

    ad einfügen auf Wordpress Seiten: sowas kann man per Shortcode lösen, oder als Template (siehe Codex) und Funktionen dahinter füllen mit Daten aus der Datenbank.

    retourfrage: hat der Code im Shortcode mit dem Bild zu tun? also Ausgabe der HTML formatierung. das wäre aber Grundlagen HTML und PHP ! wie man das erstellt. Tipsel oder kopieren musst du immer in irgendeiner Form das bleibt dir nicht ersparrt.

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

  • Hallo,

    Zitat

    [COLOR=#3E3E3E]mach ein update auf brootstrap 3.x [/COLOR]
    [COLOR=#3E3E3E]trenne php und aussehen[/COLOR]
    [COLOR=#3E3E3E]wenn css wirklich nötig ist, verwende less.[/COLOR]

    Ja, ich verwende Bootstrap schon lange in Version 3. Für das Projekt verwende ich kaum eigenes CSS. Die Basis ist Bootstrap CSS. Less habe ich noch nicht wirklich angeschaut, aber ich denke das soll jetzt nicht Thema sein.


    Zitat

    [COLOR=#3E3E3E]was macht dieser PHP Code im Shortcode Beispiel? soll der Code angezeigt werden, dann dachte ich mir, dieser kommt aus der Datenbank, oder verstehe ich dein Anliegen nicht.[/COLOR]

    Tut mir leid, vielleicht war das mit dem Code ein blödes Beispiel.
    Was ich möchte, ist auf einer Seite einen Shortcode einfügen.
    Der Shortcode soll viel HTML ausgeben. Bis jetzt habe ich eben das folgende:

    PHP
    function home_seite_ausgeben( $atts ){   $string = "
    
    
      VIEL HTML UND PHP"; 
    
    
    return "$string";}
    
    
    add_shortcode( 'home_seite_ausgeben', 'home_seite_ausgeben' );

    Hier wird alles in einem String geschrieben. Das ist nicht gut. Wie kann ich es sonst machen?

    Vielen Dank!

  • PHP
    function home_seite_ausgeben( $atts ){   $string = "
    
    
      VIEL HTML UND PHP"; 
    
    
    return "$string";}
    
    
    add_shortcode( 'home_seite_ausgeben', 'home_seite_ausgeben' );

    Hier wird alles in einem String geschrieben. Das ist nicht gut. Wie kann ich es sonst machen?

    hatte ich eigentlich geschrieben ... O.k. machen wir einen VHS Kurs, jetzt lerne ich PHP für Wordpress?


    schon mal sich den Source Code von einem Wordpress Plugin mit Shortcodes angesehen?

    PHP
    return "$string";

    verwende, wenn überhaupt

    PHP
    return $string;

    Aber du bist bei der Ausgabe von einem Shortcode bereits in einer Ausgabe.

    hth

    ralf

    Mit offenen Augen träumen

    Einmal editiert, zuletzt von r23 (13. Februar 2014 um 00:12)

  • und die sonstigen üblichen Verdächtigen.


    Kann wohl nicht ganz stimmen. Shortcode_API:

    Zitat

    If the shortcode produces a lot of HTML then ob_start can be used to capture output and convert it to a string as follows:-

    PHP
    function myShortCode() {
        ob_start();
        ?> <HTML> <here> ... <?PHP
        return ob_get_clean();
    }

    http://codex.wordpress.org/Shortcode_API

    Als ich anfing, da fand ich es noch so:

    PHP
    function myShortCode() {
      ob_start();
      ?> <HTML> <here> ... <?PHP
      $output_string = ob_get_contents();
      ob_end_clean();
      return $output_string;
    }

    Nehme an, dass die Seite zwischenzeitlich bearbeitet wurde, da ich diese Schreibweise nur noch auf einer übersetzten Version finde, von der ich das aber nicht habe.

    http://codex.wordpress.org/ru:Shortcode_API

    Somit würde ich es so schreiben:


    Also, suchen, lesen, suchen, lesen, testen, weitersuchen, auch bei StackOverflow lässt sich vieles finden.

  • Kleiner Test am Morgen.


    Funktioniert auch mit nur: return ob_get_clean();

  • Hallo,

    habt vielen Dank!
    Genau das war es, was ich gesucht habe. :smile:
    Hab es getestet und funktioniert. Jetzt kann ich weiter machen.

    -----------------------------------------------------------------------

    Da dies gut geklappt hat, erlaube ich mir noch eine Frage zu einer weiteren Unklarheit:

    Nehmen wir noch einmal kurz den Entwurf hier her:


    Im linken Bereich sieht man mehrere Eingabefelder. Nach Klick auf den "Submit"-Button werden die Werte in die Datenbank geschrieben. Der Datensatz bekommt einen Auto-Increment Wert als ID.
    Die Seite wird dann einfach neu geladen und der neue Datensatz ist über einen Link z.B. in der untenstehenden Tabelle aufrufbar.

    In meinem Programm rufe ich dann den Link auf. Es wird eine "detailansicht.php" aufgerufen und die ID des Datensatzes wird per $_POST übergeben und die Daten werden eben in einer Detailansicht angezeigt.


    Jetzt weiß ich nicht wie ich da in Wordpress vorgehen kann/soll.
    Die "detailansicht.php" soll im Prinzip nicht im Wordpress-Frontend als Seite angezeigt werde, sondern nur über meine Programm-internen Links aufgerufen werden können. (da hier ja die "ID" per $_POST mitgeliefert wird)

    Wie mache ich das?
    Ich habe was von "virtuellen Seiten" gelesen, weiss aber absolut nicht, ob das das richtige für den Zweck ist.
    Kann mir da noch jemand weiterhelfen?

    Vielen Dank!

  • Ich habe was von "virtuellen Seiten" gelesen, weiss aber absolut nicht, ob das das richtige für den Zweck ist.


    Zum Stichpunkt - WordPress virtuelle Seiten - liefert die Suche eigentlich ausreichend Ergebnisse und ich greife jetzt mal nur eines der ersten Treffer heraus. Ich brauche es bislang nicht, deshalb habe ich es bisher noch nicht getestet, doch wenn ich es benötigen würde, dann würde ich halt suchen, lesen, testen, weitersuchen, weitertesten, dann eigene Scripts entwickeln.

    http://wpsnippets.de/mit-wordpress-…eiten-erzeugen/

    Kann mir da noch jemand weiterhelfen?


    Eine Suchmaschine Deiner Wahl.

  • Hallo,

    hab' mich heute mit WP angefreundet. Die Hauptseite meines Programmes ist fast fertig.
    Die vorgefertigten Funktionen haben mir bis jetzt gut gefallen. In die DB schreiben, aus der DB ausgeben, uvm. funktioniert einwandfrei.

    Danke Melowo für den Link!
    Könnte mir vorstellen, dass diese Virtuellen Seiten einigermaßen passend sind, hab's aber bei einem ersten Test noch nicht hinbekommen. Werde mir das nochmal in Ruhe anschauen.

    Was mir noch Sorgen macht sind die handvoll Ajax-Geschichten die auch implementiert werden wollen. Hab noch nicht angefangen, aber schaut auf den ersten Blick nicht so einfach aus...

    Ciao

  • vielleicht wäre es idealer, Wordpress Development siehe http://codex.wordpress.org kennezulernen, und dann deine Daten mittels Wordpress Funktion bearbeiten und darzustellen, Wordpress bietet dafür viele Funktion, wo du dann ideal Bearbeitung schon fertig nutzen kannst und auch für einfach Darstellungen kaum etwas zu coden notwendig ist. Denn wenn du nur versuchen willst, WP unhängigen Code und HTML seiten in Wordpress einzuwängen, wäre es idealer dies als eigene Anwendung zu lassen.
    Wordpress lässt zb nicht alles Javasripte, PHP CSS so ohne weitere einfach zu. Da bedarf es guter DEVELOPMENT Kenntnisse. und damit deine Seiten, Funktionen usw auch mit der Benutzerverwaltung gut zusammenspielen, musst du viele WP Funktionen dafür gut durchdacht verwenden.

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

Jetzt mitmachen!

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