{"id":475,"date":"2017-05-15T12:40:51","date_gmt":"2017-05-15T10:40:51","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=475"},"modified":"2017-05-15T12:40:51","modified_gmt":"2017-05-15T10:40:51","slug":"tabelleneditor-revisited-und-jetzt-das-ganze-nochmal-als-shortcode","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/05\/15\/tabelleneditor-revisited-und-jetzt-das-ganze-nochmal-als-shortcode\/","title":{"rendered":"Tabelleneditor revisited: und jetzt das Ganze nochmal als Shortcode"},"content":{"rendered":"<p>Ja, ich wei\u00df, ich habs unterschlagen. Wir haben uns einen h\u00fcbschen kleinen Tabelleneditor im Admin Panel gebastelt, mit Unterseite und allem Pipapo. Aber da kamen schon die ersten R\u00fcckfragen. Was, wenn ich meinen Besuchern die M\u00f6glichkeit anbieten m\u00f6chte, Tabellendaten auf meiner Webseite zu editieren? Wie sieht das dann die Verzweigung auf die Unterseite aus? Ein Anwendungsfall w\u00e4re es zum Beispiel, wenn ich meinen Nutzern das Editieren der eigenen Adressdaten erm\u00f6glichen m\u00f6chte. Da wird man zwar im Zweifelsfall ein Login vorschalten, denkbar ist z.B. da\u00df sich der Benutzer mit seiner Mitgliedsnummer anmeldet und diese beim Aufruf des Unterformulars abgefragt wird. Das f\u00fchrt mir aber jetzt entschieden zu weit, ich lasse es mal bei dem Formular mit den Edit-Buttons, sonst blickt hier keiner mehr durch. Die Funktionalit\u00e4t wird also die selbe sein wie beim Plugin <strong>Adressen Tabelle,<\/strong> nur diesmal auf der Blog-Oberfl\u00e4che.<\/p>\n<h2>Wir basteln uns einen Shortcode<\/h2>\n<p>Der erste Teil ist simpel. Wir schnappen uns die Funktion pluginAdressenTabelle() und schieben sie in einen Shortcode. F\u00fcr den legen wir uns eine neue Seite an und f\u00fcgen ihn dort ein, ich hab ihn mal [adr_tabelle] genannt. Das m\u00fcsste eigentlich ohne \u00c4nderungen klappen, das Ergebnis sollte etwa so aussehen:<\/p>\n<div id=\"attachment_476\" style=\"width: 1016px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-476\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-476\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/shortcode_adresseneditor.jpg\" alt=\"shortcode_adresseneditor\" width=\"1006\" height=\"614\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/shortcode_adresseneditor.jpg 1006w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/shortcode_adresseneditor-300x183.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/shortcode_adresseneditor-768x469.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/shortcode_adresseneditor-624x381.jpg 624w\" sizes=\"(max-width: 1006px) 100vw, 1006px\" \/><p id=\"caption-attachment-476\" class=\"wp-caption-text\">shortcode_adresseneditor<\/p><\/div>\n<p>Wenn man jetzt auf einen &#8222;Edit&#8220;-Button klickt, landet man (logischerweise) noch im Admin Panel, und das soll nat\u00fcrlich nicht sein, da brauchen wir was anderes. N\u00e4mlich eine Blogseite, die nicht im Men\u00fc erscheinen soll, sondern nur durch Klick auf den Edit-Button aus der aufrufenden Seite auftauchen darf.<\/p>\n<h2>Seite ohne Men\u00fceintrag? Mit Men\u00fc!<\/h2>\n<p>Man legt eine neue Seite an, benennt sie entsprechend, z.B. Adresseneditor Unterseite. Dann legt man unter Design\/Men\u00fcs ein <strong>neues Men\u00fc<\/strong> an, in das man alle Seiten ausser der eben erstellten eintr\u00e4gt (alle markieren und dann bei der Einzelseite das H\u00e4kchen entfernen). Ist ein bi\u00dfchen von hinten durch die Brust ins Auge, aber so funktionierts.<\/p>\n<h2>Aufzurufende Seite bei Formular-Action hinterlegen<\/h2>\n<p>Wir klemmen uns einfach den Permalink der soeben erstellten Unterseite und legen sie auf die Variable f\u00fcr den Action-Tag, das sieht dann z.B. so aus:<\/p>\n<p><em>$meinplugin_URL = &#8222;http:\/\/localhost\/turnverein\/adresseneditor\/adresseneditor-unterseite\/&#8220;;<\/em><\/p>\n<p>Das wars schon.<\/p>\n<h2>Wie kommt jetzt unsere Editor-Funktionalit\u00e4t in die Unterseite?<\/h2>\n<p>Per Shortcode! Mein Freund und Lieblingshelfer, ich sags immer wieder. Wir erstellen einen neuen Shortcode, mit aussagekr\u00e4ftigen Namen, z.B.:<\/p>\n<p><em>add_shortcode (&#8218;mein_adr_editor&#8216;, &#8218;meinAdressenEditor&#8216;);<\/em><\/p>\n<p>Dann brauchen wir nat\u00fcrlich noch die Funktion zum Shortcode, die hei\u00dft jetzt <em>meinAdressenEditor<\/em>(). In diese kopieren wir uns den ganzen Inhalt der Funktion AdresseEditAusgabe() aus dem Plugin, das wir vorher erstellt haben. Nicht vergessen unten den Link zur\u00fcck auf die aufrufende Seite zu aktualisieren, der sollte jetzt etwa so ausehen:<\/p>\n<p><em>echo &#8222;&lt;a href = &#8218;<strong>http:\/\/localhost\/turnverein\/adresseneditor<\/strong>\/&#8217;\/&gt;&lt;h1&gt;Zur\u00fcck zur Adressenliste&lt;\/h1&gt;&lt;\/a&gt;&#8220;;<\/em><\/p>\n<p>Den soeben erstellten Shortcode [mein_adr_editor] in die Unterseite einf\u00fcgen, speichern und feddisch, das wars! Die Bildschirmausgabe sollte etwa so aussehen:<\/p>\n<div id=\"attachment_477\" style=\"width: 1018px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-477\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-477\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/adresseneditor_unterseite.jpg\" alt=\"adresseneditor_unterseite\" width=\"1008\" height=\"606\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/adresseneditor_unterseite.jpg 1008w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/adresseneditor_unterseite-300x180.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/adresseneditor_unterseite-768x462.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/adresseneditor_unterseite-624x375.jpg 624w\" sizes=\"(max-width: 1008px) 100vw, 1008px\" \/><p id=\"caption-attachment-477\" class=\"wp-caption-text\">adresseneditor_unterseite<\/p><\/div>\n<p>\u00dcbrigens nicht wundern: wenn man sich die Unterseite &#8222;allein&#8220; anschaut, also aus dem Edit-Modus mit &#8222;Seite ansehen&#8220;, sieht man &#8211; nichts. Da fehlt der Parameter mit der ID, also ergibt unser Select eine leere Ausgabe, und dann sieht mal halt nichts, punktum.<\/p>\n<p>So, jetzt hab ich aber alle Aspekte des Tabelleneditors ersch\u00f6pfend behandelt &#8211; hoffe ich zumindest. Wenn jetzt noch R\u00fcckfragen kommen &#8211; ich bin unbekannt verreist \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ja, ich wei\u00df, ich habs unterschlagen. Wir haben uns einen h\u00fcbschen kleinen Tabelleneditor im Admin Panel gebastelt, mit Unterseite und allem Pipapo. Aber da kamen schon die ersten R\u00fcckfragen. Was, wenn ich meinen Besuchern die M\u00f6glichkeit anbieten m\u00f6chte, Tabellendaten auf meiner Webseite zu editieren? Wie sieht das dann die Verzweigung auf die Unterseite aus? Ein [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,21,11,4,14,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/475"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=475"}],"version-history":[{"count":1,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/475\/revisions"}],"predecessor-version":[{"id":478,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/475\/revisions\/478"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}