{"id":424,"date":"2017-05-08T14:15:45","date_gmt":"2017-05-08T12:15:45","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=424"},"modified":"2017-05-08T17:47:49","modified_gmt":"2017-05-08T15:47:49","slug":"unser-erstes-plugin-setzecode-2-die-funktionalitaet","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/05\/08\/unser-erstes-plugin-setzecode-2-die-funktionalitaet\/","title":{"rendered":"Unser erstes Plugin: SetzeCode 2, die Funktionalit\u00e4t"},"content":{"rendered":"<p>Was wollten wir also tun? Den Wert einer Option per Plugin setzen. Daf\u00fcr brauchen wir zuerstmal:<\/p>\n<h2>Ein kleines Formular f\u00fcr die Eingabe<\/h2>\n<p>\/\/Begin Formular<br \/>\necho &#8218;&lt;form method=&#8220;post&#8220;&gt;&#8216;;<br \/>\necho &#8218;Mein Code: &lt;input type=&#8220;text&#8220; name=&#8220;code&#8220; \/&gt;&lt;\/br&gt;&#8216;;<br \/>\necho &#8218;&lt;input type=&#8220;submit&#8220; name = &#8222;senden&#8220; value=&#8220;Abschicken&#8220;\/&gt;&#8216;.&#8220;&lt;br&gt;&#8220;;<br \/>\necho &#8222;&lt;\/form&gt;&#8220;;<br \/>\n\/\/ End Formular<\/p>\n<p>Keine Hexerei, nur ein ganz normales PHP-Formul\u00e4rchen mit einem Texteingabefeld und einem submit-Button.<\/p>\n<h2>Was soll passieren, wenn auf &#8222;Abschicken&#8220; gedr\u00fcckt wurde?<\/h2>\n<p>Auch nicht weiter schwer, die Option soll mit dem Inhalt der Benutzereingabe gesetzt werden.<\/p>\n<p><em>if (isset($_POST[&#8217;senden&#8216;]))<\/em><br \/>\n<em>{<\/em><br \/>\n<em>\u00a0\u00a0\u00a0 $akt_code = $_POST[&#8218;code&#8216;];<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0update_option (&#8218;mein_code&#8216;, $akt_code);<\/em><em>\u00a0\u00a0\u00a0 <\/em><br \/>\n<em>}<\/em><\/p>\n<p>Und schon landet der vom Benutzer eingegebene Code als Options-Wertepaar (Name und Wert) in der Tabelle wp_options!<\/p>\n<p>Man kann noch eine kleine Debug-Ausgabe mit dranh\u00e4ngen, dann sieht man auch gleich mal wie das mit dem get_option() funktioniert:<\/p>\n<p><em>$akt_option = get_option (&#8218;mein_code&#8216;);<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo &#8222;Wert aus der Datenbank &amp;nbsp:&#8220;.$akt_option;<\/em><\/p>\n<p>Alles klar? Bittesch\u00f6n, unser erstes Plugin kann marschieren! Nochmal zur Kontrolle die gesamte Funktion:<\/p>\n<p><em>function pluginAdminScreen() {<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0echo &#8222;&lt;h1&gt;Setze Meinen Code&lt;\/h1&gt;&#8220;;<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<\/em><br \/>\n<em>\/\/Begin Formular<\/em><br \/>\n<em>echo &#8218;&lt;form method=&#8220;post&#8220;&gt;&#8216;;<\/em><br \/>\n<em>echo &#8218;Mein Code: &lt;input type=&#8220;text&#8220; name=&#8220;code&#8220; \/&gt;&lt;\/br&gt;&#8216;;<\/em><br \/>\n<em>echo &#8218;&lt;input type=&#8220;submit&#8220; name = &#8222;senden&#8220; value=&#8220;Abschicken&#8220;\/&gt;&#8216;.&#8220;&lt;br&gt;&#8220;;<\/em><br \/>\n<em>echo &#8222;&lt;\/form&gt;&#8220;;<\/em><br \/>\n<em>\/\/ End Formular<\/em><\/p>\n<p><em>if (isset($_POST[&#8217;senden&#8216;]))<\/em><br \/>\n<em>{<\/em><\/p>\n<p><em>\u00a0\u00a0 \u00a0$akt_code = $_POST[&#8218;code&#8216;];<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0update_option (&#8218;mein_code&#8216;, $akt_code);<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0<\/em><br \/>\n<em>} <\/em><br \/>\n<em>$akt_option = get_option (&#8218;mein_code&#8216;);<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo &#8222;Wert aus der Datenbank &amp;nbsp:&#8220;.$akt_option;\u00a0 \u00a0\u00a0\u00a0\u00a0 <\/em><br \/>\n<em>}<\/em><\/p>\n<h2>Hochladen und Aktivieren unseres Plugins<\/h2>\n<p>Man verschiebt jetzt die fertige setze_code.php in unser vorher angelegtes Plugin-Unterverzeichnis. Wenn alles geklappt hat, taucht unser neues Plugin jetzt im Plugins-Men\u00fc auf und kann dort aktiviert werden. Dann erscheint am Ende des Admin-Men\u00fcs der neue Eintrag &#8222;SetzeCode&#8220;, und den rufen wir jetzt auf und probierens mal aus. Aussehen sollte das Ganze etwa so:<\/p>\n<div id=\"attachment_425\" style=\"width: 256px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-425\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-425\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/screenshot_setze_code.jpg\" alt=\"screenshot_setze_code\" width=\"246\" height=\"120\" \/><p id=\"caption-attachment-425\" class=\"wp-caption-text\">screenshot_setze_code<\/p><\/div>\n<p>Der Wert aus der Datenbank wird beim ersten Aufruf leer sein, weil die Option noch nicht gesetzt wurde, aber nach dem ersten Abschicken sollte er treu und brav den zuletzt eingegebenen Code wiedergeben. Das wars!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Was wollten wir also tun? Den Wert einer Option per Plugin setzen. Daf\u00fcr brauchen wir zuerstmal: Ein kleines Formular f\u00fcr die Eingabe \/\/Begin Formular echo &#8218;&lt;form method=&#8220;post&#8220;&gt;&#8216;; echo &#8218;Mein Code: &lt;input type=&#8220;text&#8220; name=&#8220;code&#8220; \/&gt;&lt;\/br&gt;&#8216;; echo &#8218;&lt;input type=&#8220;submit&#8220; name = &#8222;senden&#8220; value=&#8220;Abschicken&#8220;\/&gt;&#8216;.&#8220;&lt;br&gt;&#8220;; echo &#8222;&lt;\/form&gt;&#8220;; \/\/ End Formular Keine Hexerei, nur ein ganz normales PHP-Formul\u00e4rchen mit einem [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/424"}],"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=424"}],"version-history":[{"count":7,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/424\/revisions"}],"predecessor-version":[{"id":437,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/424\/revisions\/437"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}