{"id":306,"date":"2017-03-07T11:54:12","date_gmt":"2017-03-07T10:54:12","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=306"},"modified":"2017-03-07T11:54:12","modified_gmt":"2017-03-07T10:54:12","slug":"was-wir-mit-bildern-koennen-koennen-wir-mit-posts-schon-lange","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/03\/07\/was-wir-mit-bildern-koennen-koennen-wir-mit-posts-schon-lange\/","title":{"rendered":"Was wir mit Bildern k\u00f6nnen, k\u00f6nnen wir mit Posts schon lange!"},"content":{"rendered":"<h2>Alle ver\u00f6ffentlichten Beitr\u00e4ge<\/h2>\n<p>Es wird wieder Zeit f\u00fcr ein bi\u00dfchen Spa\u00df auf der Datenbank! Wir gehen wieder zur\u00fcck zu unserer zentralen Tabelle wp_posts und picken uns diesmal alle ver\u00f6ffentlichten Beitr\u00e4ge heraus. Das haben wir schonmal gemacht, bei der Ausgabe der Beitragsbilder ganz am Anfang, wissen sie noch? Der Select ist supersimpel:<\/p>\n<pre><em>SELECT * from wp_posts where post_status = \u201apublish\u2018 and post_type = \u201apost\u2018<\/em><\/pre>\n<p>Die k\u00f6nnten wir jetzt einfach mal alle ausgeben so wie sie daherkommen, n\u00e4mlich einfach nacheinander aufsteigend Datum. Das s\u00e4he dann aber der Beitragsseite (nur mit umgekehrter Sortierung) verdammt \u00e4hnlich und h\u00e4tte weiter keinen N\u00e4rwert, deshalb geben wir die Beitr\u00e4ge jetzt erst mal gek\u00fcrzt und in Divs gepackt als \u00dcbersicht aus. Unser foreach f\u00fcr diesen Zweck ist auch denkbar einfach, ich gebe f\u00fcrs erste nur den Titel und den Inhalt aus:<\/p>\n<pre>foreach ( $alleposts as $einpost ) \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{ \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo \"&lt;div class = 'post_ausgabe'&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 echo \"&lt;h1&gt;\".$einpost-&gt;post_title.\"&lt;\/h1&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo $einpost-&gt;post_content.\"&lt;\/br&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo \"&lt;\/div&gt;\";\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}<\/pre>\n<p>Ich habe mir eine neue Klasse von Div, die <strong>post_ausgabe<\/strong> definiert, weil ich die Formatierung etwas anders als bei der Bilderausgabe gestalten m\u00f6chte. Der CSS-Eintrag sieht so aus:<\/p>\n<pre>.post_ausgabe{\r\n\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0float:left;\r\n\u00a0\u00a0 \u00a0height: 300px;\r\n\u00a0\u00a0 \u00a0width: 30%;\r\n\u00a0\u00a0 \u00a0overflow: hidden;\r\n\u00a0\u00a0 \u00a0border: 1px solid blue;\r\n\u00a0\u00a0 \u00a0margin: 2px;\r\n\u00a0\u00a0 \u00a0padding:2px;\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0\r\n}<\/pre>\n<p>Wichtig ist der <strong>overflow: hidden;<\/strong> damit die Sache leserlich bleibt. Und die Ausgabe? Ich nehme mal wieder das Inselfisch-Kochbuch, da sind richtig sch\u00f6n viele Beitr\u00e4ge drin, und das sieht jetzt erstmal so aus:<\/p>\n<div id=\"attachment_308\" style=\"width: 577px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-308\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-308\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/post_ausgabe.jpg\" alt=\"post_ausgabe\" width=\"567\" height=\"639\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/post_ausgabe.jpg 567w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/post_ausgabe-266x300.jpg 266w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><p id=\"caption-attachment-308\" class=\"wp-caption-text\">post_ausgabe<\/p><\/div>\n<p>Zugegeben, das k\u00f6nnte h\u00fcbscher sein, aber darum k\u00fcmmern wir uns sp\u00e4ter. Falls sie sich wundern, da\u00df hier \u00fcberrall &#8222;<strong>Einleitung<\/strong>&#8220; als Untertitel steht: das ist v\u00f6llig korrekt so, weil bei mir (fast) jedes Rezept mit einer Einleitung beginnt. Erinnern sie sich? Da war was mit der Textstrukturierung wegen der Barrierefreiheit. Deswegen kommt als erster Text im post_content das W\u00f6rtchen &#8222;Einleitung&#8220;, als h2-\u00dcberschrift formatiert. Die Ausgabe ist also v\u00f6llig richtig.<\/p>\n<h2>Link auf den Beitrag<\/h2>\n<p>Jetzt fehlt nat\u00fcrlich der Link auf den Beitrag, den holen wir uns wieder mal mit get_permalink(ID) und machen einen a href auf die \u00dcberschrift daraus. Der foreach folgt sogleich:<\/p>\n<pre>foreach ( $alleposts as $einpost ) \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{ \r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$akt_link = get_permalink($einpost-&gt;ID);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo \"&lt;div class = 'post_ausgabe'&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo \"&lt;a href = '\".$akt_link.\"'&gt;&lt;h1&gt;\".$einpost-&gt;post_title.\"&lt;\/h1&gt;&lt;\/a&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo $einpost-&gt;post_content.\"&lt;\/br&gt;\";\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0echo \"&lt;\/div&gt;\";\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}<\/pre>\n<p>Jetzt sitzen die Links auf den \u00dcberschriften, wo sie hingeh\u00f6ren.<\/p>\n<div id=\"attachment_309\" style=\"width: 872px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-309\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-309\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/alle_posts_mit_links.jpg\" alt=\"alle_posts_mit_links\" width=\"862\" height=\"625\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/alle_posts_mit_links.jpg 862w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/alle_posts_mit_links-300x218.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/alle_posts_mit_links-768x557.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/03\/alle_posts_mit_links-624x452.jpg 624w\" sizes=\"(max-width: 862px) 100vw, 862px\" \/><p id=\"caption-attachment-309\" class=\"wp-caption-text\">alle_posts_mit_links<\/p><\/div>\n<h2>Wieder das Spiel mit dem Limit und der Zufallszahl<\/h2>\n<p>Man kann nat\u00fcrlich auch hier die Anzahl der auszugebenden Beitr\u00e4ge limitieren, und mit Rand() eine zuf\u00e4llige Auswahl der Beitr\u00e4ge erzeugen, und man kann den ganzen Shortcode nat\u00fcrlich auch wieder ins Text-Widget packen und z.B. in die Seitenleiste verschieben, da kann jeder selber damit spielen.<\/p>\n<h2>Was noch nicht sch\u00f6n ist<\/h2>\n<p>Der abgeschnittene Text st\u00f6rt mich, und der -zigfache Text <strong>Einleitung<\/strong>. Da letzteres aber sozusagen mein Privatvergn\u00fcgen ist, gibts daf\u00fcr einen neuen Beitrag.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alle ver\u00f6ffentlichten Beitr\u00e4ge Es wird wieder Zeit f\u00fcr ein bi\u00dfchen Spa\u00df auf der Datenbank! Wir gehen wieder zur\u00fcck zu unserer zentralen Tabelle wp_posts und picken uns diesmal alle ver\u00f6ffentlichten Beitr\u00e4ge heraus. Das haben wir schonmal gemacht, bei der Ausgabe der Beitragsbilder ganz am Anfang, wissen sie noch? Der Select ist supersimpel: SELECT * from wp_posts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,10,11,7,4,14,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/306"}],"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=306"}],"version-history":[{"count":2,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/306\/revisions"}],"predecessor-version":[{"id":310,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/306\/revisions\/310"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}