{"id":284,"date":"2017-03-02T09:58:43","date_gmt":"2017-03-02T08:58:43","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=284"},"modified":"2017-03-05T13:09:59","modified_gmt":"2017-03-05T12:09:59","slug":"nuetzlicher-helfer-der-shortcode","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/03\/02\/nuetzlicher-helfer-der-shortcode\/","title":{"rendered":"N\u00fctzlicher Helfer: der Shortcode"},"content":{"rendered":"<p>Verlieren sie auch allm\u00e4hlich den \u00dcberblick bei den ganzen PHP-Code-Snippets? Mir gehts immer so, wenn sich mehr als ein Dutzend Snippets in PHP Code for Posts angesammelt habe, mu\u00df ich aufr\u00e4umen. Dann \u00fcberlege ich mir, welche echt nur zum Testen da waren, und welche Funktionalit\u00e4ten ich wirklich weiterverwenden m\u00f6chte. Aus letzteren baue ich mir dann Shortcodes mit aussagekr\u00e4ftigen Namen, und bunkere sie in meiner Archiv-Bibliothek.<\/p>\n<h2>Was ist ein Shortcode?<\/h2>\n<p>Kennen wir doch schon!<\/p>\n<div id=\"attachment_293\" style=\"width: 303px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-293\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-293\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/shortcode.jpg\" alt=\"shortcode\" width=\"293\" height=\"146\" \/><p id=\"caption-attachment-293\" class=\"wp-caption-text\">shortcode<\/p><\/div>\n<p>Das ist das K\u00fcrzel, das an dieser Stelle den PHP-Code von Snippet Nr. 7 ausf\u00fchrt. Kann an beliebiger Stelle in einen Beitrag oder auf einer Seite eingesetzt werden. Sogar in das Text-Widget kann der Shortcode eingesetzt werden (wo es Sinn macht), und f\u00fchrt auch hier z.B. in der Sidebar seine Funktion aus.<\/p>\n<h2>Wie baue ich einen Shortcode?<\/h2>\n<p>Das ist keine schwierige Sache. Zu einem Shortcode geh\u00f6ren essentiell zwei Dinge:<\/p>\n<ol>\n<li>ein K\u00fcrzel<\/li>\n<li>eine PHP-Funktion<\/li>\n<\/ol>\n<p>Das wars schon. Es gibt auch Shortcodes mit Parameter und umschlie\u00dfende Shortcodes, aber wir wollen es mal bei der minimalistischen Version belassen. K\u00fcrzel und zugeh\u00f6rige Funktion kommen in die <strong>functions.php<\/strong> ihres Child-Themes, das sieht im einfachsten Fall so aus:<\/p>\n<div id=\"attachment_286\" style=\"width: 434px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-286\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-286\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/hallo_evi_shortcode.jpg\" alt=\"hallo_evi_shortcode\" width=\"424\" height=\"126\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/hallo_evi_shortcode.jpg 424w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/hallo_evi_shortcode-300x89.jpg 300w\" sizes=\"(max-width: 424px) 100vw, 424px\" \/><p id=\"caption-attachment-286\" class=\"wp-caption-text\">hallo_evi_shortcode<\/p><\/div>\n<p>Zuerst kommt die Funktion, die tut hier im Beispiel nichts weiter als einen Text mit echo ausgeben. Dann definiert man das K\u00fcrzel mit add_shortcode und gibt ihm den Funktionsnamen mit. Das wars schon. Jetzt an beliebiger Stelle einsetzen, z.B. in einen neuen Beitrag, einfach das K\u00fcrzel in eckigen Klammern, und voil\u00e1 die Ausgabe (hier im Inselfisch-Kochbuch), brav als h1 formatiert:<\/p>\n<div id=\"attachment_287\" style=\"width: 865px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-287\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-287\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/mhs_ausgabe.jpg\" alt=\"mhs_ausgabe\" width=\"855\" height=\"359\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/mhs_ausgabe.jpg 855w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/mhs_ausgabe-300x126.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/mhs_ausgabe-768x322.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/mhs_ausgabe-624x262.jpg 624w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><p id=\"caption-attachment-287\" class=\"wp-caption-text\">mhs_ausgabe<\/p><\/div>\n<h2>Nahezu unbegrenzte M\u00f6glichkeiten<\/h2>\n<p>So eine Shortcode-Funktion kann aber noch viel mehr als nur echo-Ausgaben! Sie k\u00f6nnen zum Beispiel den gesamten Code f\u00fcr die Bilderausgabe in die Funktion packen, oder das Inhaltsverzeichnis, oder was immer sie wollen. Jeder valide PHP-Code ist m\u00f6glich!<\/p>\n<p>Wichtig ist nur, da\u00df sie wirklich auf der functions.php ihres Child-Themes arbeiten, sonst sind beim n\u00e4chsten Theme-Update unter Umst\u00e4nden ihre gesammelten Shortcodes futsch! Dabei sind die doch so vielseitig verwendbar &#8211; mehr dazu im n\u00e4chsten Beitrag.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Verlieren sie auch allm\u00e4hlich den \u00dcberblick bei den ganzen PHP-Code-Snippets? Mir gehts immer so, wenn sich mehr als ein Dutzend Snippets in PHP Code for Posts angesammelt habe, mu\u00df ich aufr\u00e4umen. Dann \u00fcberlege ich mir, welche echt nur zum Testen da waren, und welche Funktionalit\u00e4ten ich wirklich weiterverwenden m\u00f6chte. Aus letzteren baue ich mir dann [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,11,4,14,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/284"}],"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=284"}],"version-history":[{"count":8,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/284\/revisions"}],"predecessor-version":[{"id":295,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/284\/revisions\/295"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}