Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://wp-guru.net/feed

  1. <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:atom="http://www.w3.org/2005/Atom"
  6. xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  7. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  8. >
  9.  
  10. <channel>
  11. <title>wp-guru.net</title>
  12. <atom:link href="http://wp-guru.net/feed/" rel="self" type="application/rss+xml" />
  13. <link>https://wp-guru.net/</link>
  14. <description>WordPress Snippets vom Guru.</description>
  15. <lastBuildDate>Tue, 21 Feb 2023 12:33:41 +0000</lastBuildDate>
  16. <language>de-DE</language>
  17. <sy:updatePeriod>
  18. hourly </sy:updatePeriod>
  19. <sy:updateFrequency>
  20. 1 </sy:updateFrequency>
  21. <generator>https://wordpress.org/?v=6.2.5</generator>
  22. <item>
  23. <title>WordPress DIY &#8211; so findest Du den richtigen Hoster</title>
  24. <link>https://wp-guru.net/wordpress-diy-so-findest-du-den-richtigen-hoster/</link>
  25. <comments>https://wp-guru.net/wordpress-diy-so-findest-du-den-richtigen-hoster/#comments</comments>
  26. <dc:creator><![CDATA[Raffael]]></dc:creator>
  27. <pubDate>Tue, 25 Oct 2016 21:23:17 +0000</pubDate>
  28. <category><![CDATA[Allgemein]]></category>
  29. <category><![CDATA[webhosting]]></category>
  30. <category><![CDATA[wordpress hoster]]></category>
  31. <category><![CDATA[wordpress selber hosten]]></category>
  32. <guid isPermaLink="false">http://wp-guru.net/?p=282</guid>
  33.  
  34. <description><![CDATA[<p>Für viele beginnt der Einstieg ins Bloggen mittels eines kostenlosen WordPress-Blogs von wordpress.com. Die Gründe dafür liegen auf der Hand. Technisches Know-How ist nicht notwendig und innerhalb weniger Minuten ist der erste eigene Blog einsatzbereit. Doch wenn einen das Blogging-Fieber dann einmal gepackt hat, merkt man schnell, dass die &#8222;Fertig-Lösung&#8220; nicht immer der Weisheit letzter [&#8230;]</p>
  35. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/wordpress-diy-so-findest-du-den-richtigen-hoster/">WordPress DIY &#8211; so findest Du den richtigen Hoster</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  36. ]]></description>
  37. <content:encoded><![CDATA[<p>Für viele beginnt der Einstieg ins Bloggen mittels eines kostenlosen WordPress-Blogs von wordpress.com. Die Gründe dafür liegen auf der Hand. Technisches Know-How ist nicht notwendig und innerhalb weniger Minuten ist der erste eigene Blog einsatzbereit.</p>
  38. <p>Doch wenn einen das Blogging-Fieber dann einmal gepackt hat, merkt man schnell, dass die &#8222;Fertig-Lösung&#8220; nicht immer der Weisheit letzter Schluss ist. Wer im Code seines Themes bauen will, wer feintunen will oder ein besonders &#8222;mächtiges&#8220; Plugin einsetzen möchte, wird die Grenzen schnell kennenlernen. Abhilfe schafft hier dann nur ein selbst-gehostetes WordPress.</p>
  39. <p>Doch gerade für Neulinge ist es schwer einzuschätzen, welches Webspace-Angebot zu den eigenen Bedürfnissen passt? Zwar gibt es gute WordPress-Webhoster Vergleichsseiten wie z.B. <a href="http://www.wordpresshostingvergleich.org/" target="_blank" rel="noopener noreferrer">hier</a>, jedoch bleiben bei Neulingen oft Fragen unklärt. Wie viel Speicherplatz braucht man? Ist der Traffic wichtig und was ist eigentlich das PHP-Memory-Limit? Diese und weitere Fragen wollen wir im Folgenden klären und somit den Einstieg erleichtern.</p>
  40. <h3>Die harten Fakten</h3>
  41. <p><a href="http://wp-guru.net/wp-content/uploads/2016/10/Harte-Fakten.png" data-ob="lightbox[282]"><img decoding="async" loading="lazy" class="alignright wp-image-287" src="http://wp-guru.net/wp-content/uploads/2016/10/Harte-Fakten.png" alt="Harte Fakten" width="210" height="210" srcset="https://wp-guru.net/wp-content/uploads/2016/10/Harte-Fakten.png 256w, https://wp-guru.net/wp-content/uploads/2016/10/Harte-Fakten-150x150.png 150w" sizes="(max-width: 210px) 100vw, 210px" /></a>Zu den &#8222;harten Fakten&#8220; zählen technische Eigenschaften der Hostingangebote, welche sich in Zahlen ausdrücken und so miteinander vergleichen lassen. Die wesentlichen Werte und deren Bedeutung findest Du in den folgenden Absätzen.</p>
  42. <p><strong>Webspace / Speicherplatz;</strong> Ist der eigentliche Speicherplatz. Gemessen in Megabyte (MB) oder Gigabyte (GB). Hier kommt es stark darauf an wie viel und was ihr bloggen wollt. Wer viel mit Bildern arbeitet, braucht mehr Speicherplatz als jemand, der ausschließlich Texte verarbeitet. Als Faustregel sollte man schauen, dass mindestens 2 GB Speicher vorhanden sind. Wer weiß, dass er hauptsächlich Texte veröffentlicht, kommt auch mit weniger aus. Wer aber hingegen weiß, dass er sehr viele Bilder veröffentlicht (z.B. Food-, Reise- oder Fashion-Blogger), sollte direkt zu 4 GB oder mehr greifen. Hat man sich einmal verkalkuliert, kann bei den meisten Hostern jedoch auch Speicherplatz nachgebucht werden.</p>
  43. <p><strong>Traffic;</strong> Wird wie Speicher in GB angegeben und beschreibt das erlaubte Datenvolumen. Dieses setzt sich (vereinfacht gesagt) aus der Größe eurer Webseite und der Anzahl der Aufrufe zusammen. Ist die Startseite des Blogs zum Beispiel 1 MB groß und ihr habt 10.000 Besucher im Monat, dann erzeugt dies einen Traffic von ~10 GB. Um hier abschätzen zu können, kann man den eigenen Blog einmal mit den <a href="https://tools.pingdom.com/">Pindom Tools</a> messen. Die erhaltene &#8222;Page Size&#8220; multipliziert man mit der Anzahl der monatlichen Seitenaufrufe (nicht Besucher!). Das Ergebnis ist der zu erwartende Traffic, zu dem man dann noch mal 20-50% Puffer aufschlägt. Noch besser ist jedoch ein Webspace-Tarif mit unlimitiertem Traffic. Das spart Arbeit und Nerven.</p>
  44. <p><strong>Unterstützte Technologien;</strong> Um WordPress zu betreiben, müssen ein paar Server-Technologien vorhanden sein. PHP und eine MySQL- oder Maria-Datenbank sind hierbei essenziell. Fehlen diese im Paket, so solltet ihr davon direkt Abstand nehmen.</p>
  45. <p><strong>Anzahl der Datenbanken;</strong> Die Anzahl der Datenbanken gibt an wie viele Datenbanken angelegt werden können. Für WordPress wird mindestens eine benötigt. Solltet ihr jedoch vorhaben mehrere Blogs zu betreiben, kann es nicht schaden, direkt ein Angebot zu wählen, welches mehrere Datenbanken enthält. (Notfalls kann man auch mehrere WordPress-Installationen auf einer Datenbank betreiben. In der Praxis rate ich jedoch davon ab.)</p>
  46. <p><strong>Größe der Datenbank;</strong> Einige Hoster beschränken zudem die Größe der Datenbank. Hier solltet ihr darauf achten, ob solch eine Beschränkung vorliegt und ob diese ausreichend groß ist. Als Vergleichsmaß kann ich mit folgenden Werten dienen. Ein Blog mit rund 700 Posts mittlerer Länge und 2000 Kommentaren erzeugt bei mir eine Datenbank von ca. 100 MB. Verglichen an der Anzahl der erwarteten Posts und Kommentare in eurem Blog könnt ihr nun abschätzen, wie groß eure Datenbank wird. Alternativ wählt ihr einen Tarif ohne Beschränkung der Datenbankgröße.</p>
  47. <p><strong>Anzahl der Domains;</strong> Kann zwei Bedeutungen haben. Entweder die Anzahl der Domains, die kostenlos im Paket mitbestellt werden können oder die Anzahl der Domains, die überhaupt auf das Paket aufgeschaltet werden dürfen. Erstere Variante ist nett, um Kosten zu sparen. Letztere wird interessant, wenn man mehrere Blogs oder Webseiten betreiben will. Sind im Paket nur 3 Domains erlaubt, kann man noch so viel freien Speicherplatz haben &#8211; das Aufschalten einer vierten Domain wird nicht erlaubt. In dem Fall hilft dann nur ein teureres Webspacepaket.</p>
  48. <p><strong>PHP Memory Limit;</strong> Gibt an, wie viel Arbeitsspeicher der PHP-Interpreter nutzen darf. Braucht ein PHP-Skript mehr Arbeitsspeicher als das Limit erlaubt, kommt es zu einer Fehlermeldung und der Blog wird nicht mehr angezeigt. Im Normalfall reichen 128 MB als PHP Memory Limit aus. Der Arbeitsspeicherbedarf steigt jedoch mit der Anzahl der eingesetzten Plugins. Wer sehr viele Plugins nutzen möchte (wovon prinzipiell abzuraten ist), sollte hier besser zur 192 MB oder 256 MB greifen. Manchmal lässt sich das PHP Memory Limit aber auch von Hand erhöhen wie es <a href="http://wp-guru.net/php-memory-limit-fuer-wordpress-erhoehen/">hier von mir beschrieben wurde</a>.</p>
  49. <h3>Die weichen Fakten</h3>
  50. <p><a href="http://wp-guru.net/wp-content/uploads/2016/10/Weiche-Fakten.png" data-ob="lightbox[282]"><img decoding="async" loading="lazy" class="alignleft wp-image-288" src="http://wp-guru.net/wp-content/uploads/2016/10/Weiche-Fakten.png" alt="Weiche Fakten" width="210" height="210" srcset="https://wp-guru.net/wp-content/uploads/2016/10/Weiche-Fakten.png 256w, https://wp-guru.net/wp-content/uploads/2016/10/Weiche-Fakten-150x150.png 150w" sizes="(max-width: 210px) 100vw, 210px" /></a>Zu den &#8222;weichen Fakten&#8220; zähle ich Dinge, die nicht unmittelbar in Zahlen messbar sind. Die meiner Meinung nach wichtigsten dieser Eckpunkte findest Du im Folgenden.</p>
  51. <p><strong>Erreichbarkeit des Supports;</strong> Gibt es Angaben darüber wann und wie der Support erreichbar ist? 24/7 oder nur werktags? Nur per Chat, Mail oder auch per Telefon? Denn auch, wenn man sich für technisch begabt hält, kann es immer zu Komplikationen kommen, die nur zusammen mit dem Hoster gelöst werden können und gerade dann ist ein 24/7-Support goldwert.</p>
  52. <p><strong>Kosten des Supports;</strong> Ist der Support kostenlos oder kostenpflichtig? Bist du technisch versiert oder brauchst du öfters Unterstützung? Gerade wenn man den Support auch für weniger dramatische Szenarien kontaktiert, sollte man sich vorher darüber informieren, ob und wie teuer der Support ist.</p>
  53. <p><strong>Reputation;</strong> Was sagen die Anderen? Gibt es Erfahrungsberichte &#8211; sowohl positiv als auch negativ? Eine kurze Recherche vorab bewahrt dich davor, beim nächstbesten &#8222;Kinderzimmer-Webhoster&#8220; zu landen. Zu fast alles größeren Hostern gibt es mittlerweile ausführliche Erfahrungsberichte, welche auf jeden Fall zurate gezogen werden sollten.</p>
  54. <h3>Fazit</h3>
  55. <p>Nun sind wir auch schon am Ende des Artikels. Du hast nun die meiner Meinung nach 10 wichtigsten Merkmale eines guten WordPress-Hosters kennengelernt. Wenn du diese Punkte beachtest, kann bei deiner Hoster-Wahl nichts mehr schief laufen.</p>
  56. <p>Und wenn doch einmal etwas unklar sein sollte, schreib mir einfach einen Kommentar. Dann schauen wir zusammen, welches Angebot am besten zu Dir und deinem Vorhaben passt.</p>
  57. <p>&nbsp;</p>
  58. <script type="text/javascript">
  59. var ddeba = document.getElementsByClassName("ddeba");
  60. for (abedd = 0; abedd < ddeba.length; abedd++) {
  61.    ddeba[abedd].style.display = "none";
  62. }
  63. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/wordpress-diy-so-findest-du-den-richtigen-hoster/">WordPress DIY &#8211; so findest Du den richtigen Hoster</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  64. ]]></content:encoded>
  65. <wfw:commentRss>https://wp-guru.net/wordpress-diy-so-findest-du-den-richtigen-hoster/feed/</wfw:commentRss>
  66. <slash:comments>6</slash:comments>
  67. </item>
  68. <item>
  69. <title>Erlaubte Dateitypen für den Upload in die Mediengalerie hinzufügen</title>
  70. <link>https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/</link>
  71. <comments>https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/#comments</comments>
  72. <dc:creator><![CDATA[Raffael]]></dc:creator>
  73. <pubDate>Fri, 07 Oct 2016 06:16:32 +0000</pubDate>
  74. <category><![CDATA[Snippets]]></category>
  75. <category><![CDATA[erlaubte Dateitypen]]></category>
  76. <category><![CDATA[Medienupload Dateitypen]]></category>
  77. <category><![CDATA[upload_mimes]]></category>
  78. <guid isPermaLink="false">http://wp-guru.net/?p=276</guid>
  79.  
  80. <description><![CDATA[<p>Standardmäßig ist die Anzahl der erlaubten Dateitypen, die man über den Medienuploader in WordPress hochladen darf, begrenzt. Eine Übersicht der erlaubten Dateitypen kann im WordPress Codex eingesehen werden. Möchte man nun jedoch zum Beispiel Vektorgrafiken im SVG-Format hochladen, wird dies von WordPress unterbunden. Um den Upload beliebiger Dateitypen in WordPress zu erlauben, müssen diese der Liste [&#8230;]</p>
  81. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/">Erlaubte Dateitypen für den Upload in die Mediengalerie hinzufügen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  82. ]]></description>
  83. <content:encoded><![CDATA[<p>Standardmäßig ist die Anzahl der erlaubten Dateitypen, die man über den Medienuploader in WordPress hochladen darf, begrenzt. Eine <a title="Übersicht der erlaubten Dateitypen in WordPress" href="https://codex.wordpress.org/Uploading_Files" target="_blank" rel="noopener">Übersicht der erlaubten Dateitypen</a> kann im WordPress Codex eingesehen werden. Möchte man nun jedoch zum Beispiel Vektorgrafiken im SVG-Format hochladen, wird dies von WordPress unterbunden.</p>
  84. <p>Um den Upload beliebiger Dateitypen in WordPress zu erlauben, müssen diese der Liste der erlaubten Dateitypen hinzugefügt werden. Dies geht auf unterschiedlichen Wegen. Drei Lösungsansätze sollen nachfolgend vorgestellt werden.</p>
  85. <h3>Erlaubte Upload-Dateitypen per Coding bearbeiten</h3>
  86. <p>In der ersten Variante ändern wir die Liste der erlaubten Dateitypen für den Upload per Hand im WordPress Code. Folgendes Snippet muss an geeigneter Stelle (z.B. in der functions.php) eingepflegt werden.</p><pre class="urvanov-syntax-highlighter-plain-tag">function dateitypen_bearbeiten($mime_types){
  87.    $mime_types['svg'] = 'image/svg+xml'; //.svg hinzufügen
  88.    unset($mime_types['pdf']); //.pdf entfernen
  89.    return $mime_types;
  90. }
  91. add_filter('upload_mimes', 'dateitypen_bearbeiten', 1, 1);</pre><p>Die WordPress-API bietet den Filter <em>upload_mimes </em>an, in welchen wir uns mit einer Funktion einklinken und das Array mit den erlaubten Dateitypen bearbeiten können. Um Dateitypen hinzuzufügen oder zu entfernen, muss einfach nur das Array der erlaubten Typen bearbeitet werden.</p>
  92. <p>Die Dateitypen müssen hierbei in Form ihres MIME-Type angegeben werden. Eine recht vollständige Liste aller MIME-Types kann zum Beispiel <a title="Liste aller MIME-Types" href="http://www.freeformatter.com/mime-types-list.html" target="_blank" rel="noopener">hier eingesehen werden</a>.</p>
  93. <h3>Erlaubte Dateitypen für den Upload per Plugin ändern</h3>
  94. <p>Wer nicht in den Code eingreifen möchte, kann zur Änderung der erlaubten Dateitypen auch ein Plugin nutzen. Hier bietet sich zum Beispiel die Verwendung <a title="WP Extra File Types WordPress Plugin" href="https://de.wordpress.org/plugins/wp-extra-file-types/" target="_blank" rel="noopener">des Plugins WP Extra File Types</a> an. Im</p>
  95. <p>Hintergrund macht dieses Plugin jedoch nichts anderes als oben stehendes Snippet. Ob man für einen Vierzeiler wirklich ein Plugin verwenden möchte, bleibt jedem selbst überlassen.</p>
  96. <h3>Erlaubte Dateitypen in WordPress Multisite ändern</h3>
  97. <p><a href="http://wp-guru.net/wp-content/uploads/2016/10/Netzwerk-Einstellungen-‹-Netzwerkverwaltung-erlaubte-Dateitypen-—-WordPress.png" data-ob="lightbox[276]"><img decoding="async" loading="lazy" class="alignleft size-medium wp-image-278" src="http://wp-guru.net/wp-content/uploads/2016/10/Netzwerk-Einstellungen-‹-Netzwerkverwaltung-erlaubte-Dateitypen-—-WordPress-300x164.png" alt="WordPress Multisite erlaubte Dateitypen" width="300" height="164" srcset="https://wp-guru.net/wp-content/uploads/2016/10/Netzwerk-Einstellungen-‹-Netzwerkverwaltung-erlaubte-Dateitypen-—-WordPress-300x164.png 300w, https://wp-guru.net/wp-content/uploads/2016/10/Netzwerk-Einstellungen-‹-Netzwerkverwaltung-erlaubte-Dateitypen-—-WordPress-768x420.png 768w, https://wp-guru.net/wp-content/uploads/2016/10/Netzwerk-Einstellungen-‹-Netzwerkverwaltung-erlaubte-Dateitypen-—-WordPress.png 884w" sizes="(max-width: 300px) 100vw, 300px" /></a>Noch etwas anders sieht es aus, wenn man WordPress im Multisite Modus nutzt. In diesem Fall lassen sich die erlaubten Upload-Dateitypen direkt aus dem WordPress-Backend heraus einstellen.</p>
  98. <p>Die Liste der erlaubten Dateitypen kann über das Menü &#8222;Netzwerkverwaltung &#8211;&gt; Einstellungen &#8211;&gt; Netzwerk Einstellungen&#8220; gepflegt werden. An dieser Stelle lässt sich im Feld &#8222;Erlaubte Dateitypen&#8220; eine Whitelist pflegen.</p>
  99. <p>Hierbei ist zu beachten, dass diese Einstellung für jede Seite im Netzwerk gilt!</p>
  100. <script type="text/javascript">
  101. var ddeba = document.getElementsByClassName("ddeba");
  102. for (abedd = 0; abedd < ddeba.length; abedd++) {
  103.    ddeba[abedd].style.display = "none";
  104. }
  105. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/">Erlaubte Dateitypen für den Upload in die Mediengalerie hinzufügen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  106. ]]></content:encoded>
  107. <wfw:commentRss>https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/feed/</wfw:commentRss>
  108. <slash:comments>4</slash:comments>
  109. </item>
  110. <item>
  111. <title>Bestimmtes WordPress-Element nur auf Startseite anzeigen</title>
  112. <link>https://wp-guru.net/bestimmtes-wordpress-element-nur-auf-startseite-anzeigen/</link>
  113. <comments>https://wp-guru.net/bestimmtes-wordpress-element-nur-auf-startseite-anzeigen/#comments</comments>
  114. <dc:creator><![CDATA[Raffael]]></dc:creator>
  115. <pubDate>Fri, 11 Mar 2016 15:53:39 +0000</pubDate>
  116. <category><![CDATA[Snippets]]></category>
  117. <category><![CDATA[is_front_page]]></category>
  118. <category><![CDATA[is_home]]></category>
  119. <category><![CDATA[Startseite]]></category>
  120. <guid isPermaLink="false">http://wp-guru.net/?p=251</guid>
  121.  
  122. <description><![CDATA[<p>Um ein bestimmtes Element eures WordPress-Themes oder eine bestimmte Funktionalität nur auf der Startseite anzuzeigen, eignet sich folgendes Snippet. Zu beachten ist, dass das Snippet die PHP-Tags (&#8222;&#60;?php&#8220; und &#8222;?&#62;&#8220;) enthält. Diese dürfen natürlich nur mitkopiert werden, wenn nicht bereits ein PHP-Tag an der Stelle geöffnet wurde, an der ihr das Snippet einfügen wollt! [crayon-6622190b0a707782825668/] Folgendes [&#8230;]</p>
  123. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/bestimmtes-wordpress-element-nur-auf-startseite-anzeigen/">Bestimmtes WordPress-Element nur auf Startseite anzeigen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  124. ]]></description>
  125. <content:encoded><![CDATA[<p>Um ein bestimmtes Element eures WordPress-Themes oder eine bestimmte Funktionalität nur auf der Startseite anzuzeigen, eignet sich folgendes Snippet. Zu beachten ist, dass das Snippet die PHP-Tags (&#8222;&lt;?php&#8220; und &#8222;?&gt;&#8220;) enthält. Diese dürfen natürlich nur mitkopiert werden, wenn nicht bereits ein PHP-Tag an der Stelle geöffnet wurde, an der ihr das Snippet einfügen wollt!</p><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php if( is_home() || is_front_page() ) : ?&gt;
  126.    //Code der nur auf der Startseite ausgegeben wird
  127. &lt;?php endif; ?&gt;</pre><p>Folgendes zur Funktionsweise: Das Snippet besteht aus einer simplen if-Abfrage. Wird die Bedingung der Abfrage wahr, wird der Code innerhalb der if-Anweisung ausgeführt. Die Bedingung selbst prüft, ob die aktuell geladene Seite entweder die Blog-Seite mit den letzten n-Artikeln (is_home()) oder eine händisch festgelegte Startseite (is_front_page()) ist.</p>
  128. <p>Soll der Code nur auf der manuell festgelegten Startseite angezeigt werden, lässt sich das Snippet als noch kürzer gestalten:</p><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php if( is_front_page() ) : ?&gt;
  129.    //Code der nur auf der Startseite ausgegeben wird
  130. &lt;?php endif; ?&gt;</pre><p>&nbsp;</p>
  131. <script type="text/javascript">
  132. var ddeba = document.getElementsByClassName("ddeba");
  133. for (abedd = 0; abedd < ddeba.length; abedd++) {
  134.    ddeba[abedd].style.display = "none";
  135. }
  136. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/bestimmtes-wordpress-element-nur-auf-startseite-anzeigen/">Bestimmtes WordPress-Element nur auf Startseite anzeigen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  137. ]]></content:encoded>
  138. <wfw:commentRss>https://wp-guru.net/bestimmtes-wordpress-element-nur-auf-startseite-anzeigen/feed/</wfw:commentRss>
  139. <slash:comments>1</slash:comments>
  140. </item>
  141. <item>
  142. <title>Adminmenü- und Adminbar-Einträge ausblenden</title>
  143. <link>https://wp-guru.net/adminmenue-und-adminbar-eintraege-ausblenden/</link>
  144. <comments>https://wp-guru.net/adminmenue-und-adminbar-eintraege-ausblenden/#respond</comments>
  145. <dc:creator><![CDATA[Raffael]]></dc:creator>
  146. <pubDate>Sun, 21 Feb 2016 05:54:06 +0000</pubDate>
  147. <category><![CDATA[Snippets]]></category>
  148. <category><![CDATA[add_filter]]></category>
  149. <category><![CDATA[admin_init]]></category>
  150. <category><![CDATA[is_user_logged_in]]></category>
  151. <category><![CDATA[wp_before_admin_bar_render]]></category>
  152. <guid isPermaLink="false">http://wp-guru.net/?p=242</guid>
  153.  
  154. <description><![CDATA[<p>Was das Backend angeht, ist WordPress recht unflexibel. Meldet sich ein Nutzer an, der keine Adminrechte hat &#8211; also die Adminrolle nicht besitzt &#8211; so sieht er trotzdem die meisten Menüeinträge und Links in der Adminbar. Um Einträge, die mangels Berechtigung sowie nutzlos sind, auszublenden, eignen sich folgende beiden Snippets. Menüeinträge im WordPress-Admin ausblenden Um [&#8230;]</p>
  155. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/adminmenue-und-adminbar-eintraege-ausblenden/">Adminmenü- und Adminbar-Einträge ausblenden</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  156. ]]></description>
  157. <content:encoded><![CDATA[<p>Was das Backend angeht, ist WordPress recht unflexibel. Meldet sich ein Nutzer an, der keine Adminrechte hat &#8211; also die Adminrolle nicht besitzt &#8211; so sieht er trotzdem die meisten Menüeinträge und Links in der Adminbar. Um Einträge, die mangels Berechtigung sowie nutzlos sind, auszublenden, eignen sich folgende beiden Snippets.</p>
  158. <h3>Menüeinträge im WordPress-Admin ausblenden</h3>
  159. <p>Um Einträge im linksseitigen Menü im WordPress Adminbereich auszublenden, sind folgende Code-Zeilen nötig.</p><pre class="urvanov-syntax-highlighter-plain-tag">function admin_menues_ausblenden(){
  160.    if(is_user_logged_in() &amp;&amp; !current_user_can('administrator')){
  161.        remove_menu_page( 'index.php' );                  //Dashboard
  162.        remove_menu_page( 'edit.php' );                   //Beiträge
  163.        remove_menu_page( 'upload.php' );                 //Medien
  164.        remove_menu_page( 'edit.php?post_type=page' );    //Seiten
  165.        remove_menu_page( 'edit-comments.php' );          //Kommentare
  166.        remove_menu_page( 'themes.php' );                 //Design
  167.        remove_menu_page( 'plugins.php' );                //Plugins
  168.        remove_menu_page( 'users.php' );                  //Benutzer
  169.        remove_menu_page( 'tools.php' );                  //Werkzeuge
  170.        remove_menu_page( 'options-general.php' );        //Einstellungen
  171.    }
  172. }
  173. add_action('admin_init', 'admin_menues_ausblenden');</pre><p>Mittels add_filter hängen wir uns in die WordPress-Verarbeitung in das Event &#8222;admin_init&#8220;. Dieses wird getriggert, wenn der Adminbereich geladen wird. Nun greift die admin_menues_ausblenden-Funktion. In Zeile 2 wird geprüft, ob der Nutzer angemeldet und kein Administrator ist. Wenn dem so ist, wenn die einzelnen Menüeinträge entfernt.</p>
  174. <p>Sollen nur einzelne Menüpunkte entfernt werden, so sind die anderen Zeilen aus obigem Snippet zu entfernen. Die Aufschlüsselung Codezeile &#8211;&gt; Menüeintrag steht im Kommentar am Zeilenende.</p>
  175. <h3>Links aus der Adminbar entfernen</h3>
  176. <p>Um Links aus der Adminbar (obere Menüleiste) zu entfernen, kann nachfolgendes Snippet genutzt werden.</p><pre class="urvanov-syntax-highlighter-plain-tag">function adminbar_eintraege_ausblenden() {
  177.    global $wp_admin_bar;
  178.    if (is_user_logged_in() &amp;&amp; !current_user_can('administrator')) {
  179.        $wp_admin_bar-&gt;remove_menu('wp-logo');          //WordPress-Logo
  180.        $wp_admin_bar-&gt;remove_menu('about');            //"Über WordPress"-Link
  181.        $wp_admin_bar-&gt;remove_menu('wporg');            //"WordPress.org"-Link
  182.        $wp_admin_bar-&gt;remove_menu('documentation');    //"Dokumentation"-Link
  183.        $wp_admin_bar-&gt;remove_menu('support-forums');   //"Support-Foren"-Link
  184.        $wp_admin_bar-&gt;remove_menu('feedback');         //"Feedback"-Link
  185.        $wp_admin_bar-&gt;remove_menu('site-name');        //"{Seitenname}"-Link
  186.        $wp_admin_bar-&gt;remove_menu('view-site');        //"Zur Webseite"-Link
  187.        $wp_admin_bar-&gt;remove_menu('updates');          //"Aktualisierung"-Link
  188.        $wp_admin_bar-&gt;remove_menu('comments');         //"Kommentare"-Link
  189.        $wp_admin_bar-&gt;remove_menu('new-content');      //"+ Neu"-Link
  190.        $wp_admin_bar-&gt;remove_menu('my-account');       //"Nutzer-Menü"-Link
  191.    }
  192. }
  193. add_action('wp_before_admin_bar_render', 'adminbar_eintraege_ausblenden');</pre><p>Technisch funktioniert dieses Snippet analog zum Ersten. Der Unterschied besteht lediglich in dem Zeitpunkt auf den der Filter gesetzt wird.</p>
  194. <script type="text/javascript">
  195. var ddeba = document.getElementsByClassName("ddeba");
  196. for (abedd = 0; abedd < ddeba.length; abedd++) {
  197.    ddeba[abedd].style.display = "none";
  198. }
  199. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/adminmenue-und-adminbar-eintraege-ausblenden/">Adminmenü- und Adminbar-Einträge ausblenden</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  200. ]]></content:encoded>
  201. <wfw:commentRss>https://wp-guru.net/adminmenue-und-adminbar-eintraege-ausblenden/feed/</wfw:commentRss>
  202. <slash:comments>0</slash:comments>
  203. </item>
  204. <item>
  205. <title>WordPress Begrüßungstext ersetzen</title>
  206. <link>https://wp-guru.net/wordpress-begruessungstext-ersetzen/</link>
  207. <comments>https://wp-guru.net/wordpress-begruessungstext-ersetzen/#respond</comments>
  208. <dc:creator><![CDATA[Raffael]]></dc:creator>
  209. <pubDate>Sat, 20 Feb 2016 05:38:19 +0000</pubDate>
  210. <category><![CDATA[Snippets]]></category>
  211. <category><![CDATA[add_filter]]></category>
  212. <category><![CDATA[domain]]></category>
  213. <category><![CDATA[gettext]]></category>
  214. <category><![CDATA[howdy]]></category>
  215. <category><![CDATA[translated_text]]></category>
  216. <category><![CDATA[willkommen]]></category>
  217. <guid isPermaLink="false">http://wp-guru.net/?p=238</guid>
  218.  
  219. <description><![CDATA[<p>Der &#8222;Willkommen&#8220;-Text in der rechten, oberen Ecke der WordPress-Adminbar sollte eigentlich jedem Nutzer ein Begriff sein. Was jedoch, wenn der Standard-Text (&#8222;Willkommen&#8220;) gewechselt werden soll? Vor allem, wenn WordPress in der englischsprachigen Variante genutzt wird, kann der dortige Text (&#8222;Howdy&#8220;) nicht den formellen Ansprüchen genügen. Möchte man eine alternative oder auch förmlichere Begrüßung nutzen, hilft [&#8230;]</p>
  220. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/wordpress-begruessungstext-ersetzen/">WordPress Begrüßungstext ersetzen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  221. ]]></description>
  222. <content:encoded><![CDATA[<p><a href="http://wp-guru.net/wp-content/uploads/2016/02/WordPress-Willkommenstext.png" rel="attachment wp-att-239" data-ob="lightbox[238]"><img decoding="async" loading="lazy" class="alignleft size-medium wp-image-239" src="http://wp-guru.net/wp-content/uploads/2016/02/WordPress-Willkommenstext-300x96.png" alt="WordPress Willkommenstext" width="300" height="96" srcset="https://wp-guru.net/wp-content/uploads/2016/02/WordPress-Willkommenstext-300x96.png 300w, https://wp-guru.net/wp-content/uploads/2016/02/WordPress-Willkommenstext.png 308w" sizes="(max-width: 300px) 100vw, 300px" /></a>Der &#8222;Willkommen&#8220;-Text in der rechten, oberen Ecke der WordPress-Adminbar sollte eigentlich jedem Nutzer ein Begriff sein. Was jedoch, wenn der Standard-Text (&#8222;Willkommen&#8220;) gewechselt werden soll? Vor allem, wenn WordPress in der englischsprachigen Variante genutzt wird, kann der dortige Text (&#8222;Howdy&#8220;) nicht den formellen Ansprüchen genügen.</p>
  223. <p>Möchte man eine alternative oder auch förmlichere Begrüßung nutzen, hilft folgendes Code-Snippet. Mit folgendem 5-Zeiler ist es möglich, die Willkommensnachricht durch einen beliebigen Text auszutauschen.</p><pre class="urvanov-syntax-highlighter-plain-tag">function howdy_message($translated_text, $text, $domain) {
  224.    $new_message = str_replace('Howdy', 'Welcome', $text);
  225.    return $new_message;
  226. }
  227. add_filter('gettext', 'howdy_message', 10, 3);</pre><p>Mittels der add_filter-Funktion klinken wir uns in die Aufrufkette ein, wenn die gettext-Funktion aufgerufen wird. An dieser Stelle wird nun die howdy_message-Funktion ausgeführt, welche per Suchen und Ersetzen (str_replace) den Wert &#8222;Howdy&#8220; durch &#8222;Welcome&#8220; ersetzt.</p>
  228. <p>Sollte das verwendete Theme in einer übersetzten Version laufen, so müsste in Zeile 2 des obigen Snippets das &#8222;$text&#8220; durch &#8222;$translated_text&#8220; ersetzt werden.</p>
  229. <p>Wie fast alle anderen Snippets auf unserem Blog gehört auch dieser Code idealerweise in die functions.php-Datei eures Themes.</p>
  230. <script type="text/javascript">
  231. var ddeba = document.getElementsByClassName("ddeba");
  232. for (abedd = 0; abedd < ddeba.length; abedd++) {
  233.    ddeba[abedd].style.display = "none";
  234. }
  235. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/wordpress-begruessungstext-ersetzen/">WordPress Begrüßungstext ersetzen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  236. ]]></content:encoded>
  237. <wfw:commentRss>https://wp-guru.net/wordpress-begruessungstext-ersetzen/feed/</wfw:commentRss>
  238. <slash:comments>0</slash:comments>
  239. </item>
  240. <item>
  241. <title>Suche auf bestimmte Artikeltypen einschränken</title>
  242. <link>https://wp-guru.net/suche-auf-bestimmte-artikeltypen-einschraenken/</link>
  243. <comments>https://wp-guru.net/suche-auf-bestimmte-artikeltypen-einschraenken/#respond</comments>
  244. <dc:creator><![CDATA[Raffael]]></dc:creator>
  245. <pubDate>Fri, 19 Feb 2016 05:51:25 +0000</pubDate>
  246. <category><![CDATA[Snippets]]></category>
  247. <category><![CDATA[add_filter]]></category>
  248. <category><![CDATA[get_post_types]]></category>
  249. <category><![CDATA[is_search]]></category>
  250. <category><![CDATA[post_type]]></category>
  251. <category><![CDATA[pre_get_posts]]></category>
  252. <category><![CDATA[query]]></category>
  253. <guid isPermaLink="false">http://wp-guru.net/?p=234</guid>
  254.  
  255. <description><![CDATA[<p>Standardmäßig durchsucht die WordPress-Suchfunktion Beiträge/Artikel und Seiten. Manchmal kann es jedoch sinnvoll sein, nur in Beiträge zu suchen. Zum Beispiel dann, wenn nur Seiten für Sitemap, Impressum und Datenschutzerklärung existieren. Aber auch sonst kann es Sinn machen die Suche nur auf Artikel zu beschränken. Um die Suche auf WordPress-Beiträge zu beschränken nutzen wir wieder die [&#8230;]</p>
  256. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/suche-auf-bestimmte-artikeltypen-einschraenken/">Suche auf bestimmte Artikeltypen einschränken</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  257. ]]></description>
  258. <content:encoded><![CDATA[<p>Standardmäßig durchsucht die WordPress-Suchfunktion Beiträge/Artikel und Seiten. Manchmal kann es jedoch sinnvoll sein, nur in Beiträge zu suchen. Zum Beispiel dann, wenn nur Seiten für Sitemap, Impressum und Datenschutzerklärung existieren. Aber auch sonst kann es Sinn machen die Suche nur auf Artikel zu beschränken.</p>
  259. <p>Um die Suche auf WordPress-Beiträge zu beschränken nutzen wir wieder die add_filter-Funktion, die wir schon in vielen anderen hier vorgestellten Snippets genutzt haben. Das nachfolgende Snippet sollte in der functions.php-Datei des WordPress-Themes platziert werden.</p><pre class="urvanov-syntax-highlighter-plain-tag">function Suchfilter($query) {
  260.    if ($query-&gt;is_search) {
  261.        $query-&gt;set('post_type', 'post');
  262.    }
  263.    return $query;
  264. }
  265. add_filter('pre_get_posts','Suchfilter');</pre><p>Wie immer ein paar Worte zur Erklärung. Mit der add_filter-Funktion setzen wir einen Filter auf das pre_get_posts-Event. Dieses wird ausgelöst, bevor die Artikel bei einer Query (=Anfrage) geladen werden. An dieser Stelle greift nun unsere Suchfilter-Funktion ein, die Folgendes tut.</p>
  266. <p>Zuerst wird überprüft, ob die Anfrage eine Suchanfrage ist ($query-&gt;is_search). Wenn dem so ist, wird per set-Methode der Parameter post_type auf den Wert post festgelegt und somit die Anfrage auf Beiträge beschränkt.</p>
  267. <h3>Suche auf andere Post-Typen einschränken</h3>
  268. <p>Um die Suche auf andere Artikeltypen einzuschränken, muss lediglich in der Zeile mit &#8222;$query-&gt;set&#8220; statt &#8222;post&#8220; ein anderer Artikeltyp angegeben werden. Doch welche Posttypen gibt es überhaupt?</p>
  269. <p>Die möglichen Artikeltypen, die man hier angeben kann, lassen sich ebenfalls mit einem kleinen PHP-Snippet ermitteln. Folgende Code-Zeilen geben alle verfügbaren Posttypen aus.</p><pre class="urvanov-syntax-highlighter-plain-tag">$artikeltypen = get_post_types();
  270. print_r($artikeltypen);</pre><p>Das Snippet lässt sich ebenfalls in der functions.php einbauen, sollte aber sofort nach dem auslesen wieder entfernt werden, da es zu &#8222;unschönen&#8220; Darstellungen im Frontend/Theme kommt.</p>
  271. <script type="text/javascript">
  272. var ddeba = document.getElementsByClassName("ddeba");
  273. for (abedd = 0; abedd < ddeba.length; abedd++) {
  274.    ddeba[abedd].style.display = "none";
  275. }
  276. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/suche-auf-bestimmte-artikeltypen-einschraenken/">Suche auf bestimmte Artikeltypen einschränken</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  277. ]]></content:encoded>
  278. <wfw:commentRss>https://wp-guru.net/suche-auf-bestimmte-artikeltypen-einschraenken/feed/</wfw:commentRss>
  279. <slash:comments>0</slash:comments>
  280. </item>
  281. <item>
  282. <title>Links in Kommentaren &#8222;unklickbar&#8220; machen</title>
  283. <link>https://wp-guru.net/links-in-kommentaren-unklickbar-machen/</link>
  284. <comments>https://wp-guru.net/links-in-kommentaren-unklickbar-machen/#respond</comments>
  285. <dc:creator><![CDATA[Raffael]]></dc:creator>
  286. <pubDate>Thu, 18 Feb 2016 06:20:13 +0000</pubDate>
  287. <category><![CDATA[Snippets]]></category>
  288. <category><![CDATA[comment_text]]></category>
  289. <category><![CDATA[make_clickable]]></category>
  290. <category><![CDATA[remove_filter]]></category>
  291. <guid isPermaLink="false">http://wp-guru.net/?p=231</guid>
  292.  
  293. <description><![CDATA[<p>Links in Kommentaren sind ein gern genutztes Mittel von Spammern. Eine Möglichkeit die Attraktivität für Spammer zu mindern, wäre das komplette entfernen von Links in Kommentaren. Doch die Welt ist nicht nur schwarz und weiß und so posten auch ehrliche Leser ab und zu Links, die für andere Leser eindeutig einen Mehrwert haben. Statt Links [&#8230;]</p>
  294. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/links-in-kommentaren-unklickbar-machen/">Links in Kommentaren &#8222;unklickbar&#8220; machen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  295. ]]></description>
  296. <content:encoded><![CDATA[<p>Links in Kommentaren sind ein gern genutztes Mittel von Spammern. Eine Möglichkeit die Attraktivität für Spammer zu mindern, wäre das komplette entfernen von Links in Kommentaren. Doch die Welt ist nicht nur schwarz und weiß und so posten auch ehrliche Leser ab und zu Links, die für andere Leser eindeutig einen Mehrwert haben. Statt Links also komplett zu entfernen, ist es sinnvoller, sie &#8222;unklickbar&#8220; zu machen.</p>
  297. <p>Beim &#8222;unklickbar&#8220; machen, wird der &lt;a&gt;-Tag um den Link herum entfernt, sodass die gepostete URL am Ende als Plaintext im Kommentar auftaucht. Für Spammer ist solch eine Darstellung wesentlich unattraktiver, da sie aus SEO-Sicht keinen wirklichen Mehrwert bietet. Wer jedoch ernsthaft an dem Link interessiert ist, kann die URL immer noch von Hand kopieren und im Browser der Wahl öffnen.</p>
  298. <h3>&lt;a&gt;-Tags in WordPress-Kommentaren entfernen</h3>
  299. <p>Um Link-Tags automatisch in Kommentaren zu entfernen und die URL als Text darzustellen, reicht folgender Einzeiler.</p><pre class="urvanov-syntax-highlighter-plain-tag">remove_filter('comment_text', 'make_clickable', 9);</pre><p>Durch den Aufruf der remove_filter-Funktion wird die Funktion &#8222;make_clickable&#8220; aus der Aufruf-Kette des comment_text entfernt. Ursprünglich würde der Kommentar (comment_text) durch die Funktion make_clickable geschickt, welche URLs automatisch klickbar macht. Durch den remove_filter-Aufruf, wird dies unterbunden.</p>
  300. <script type="text/javascript">
  301. var ddeba = document.getElementsByClassName("ddeba");
  302. for (abedd = 0; abedd < ddeba.length; abedd++) {
  303.    ddeba[abedd].style.display = "none";
  304. }
  305. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/links-in-kommentaren-unklickbar-machen/">Links in Kommentaren &#8222;unklickbar&#8220; machen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  306. ]]></content:encoded>
  307. <wfw:commentRss>https://wp-guru.net/links-in-kommentaren-unklickbar-machen/feed/</wfw:commentRss>
  308. <slash:comments>0</slash:comments>
  309. </item>
  310. <item>
  311. <title>Minimale Kommentarlänge in WordPress festlegen</title>
  312. <link>https://wp-guru.net/minimale-kommentarlaenge-in-wordpress-festlegen/</link>
  313. <comments>https://wp-guru.net/minimale-kommentarlaenge-in-wordpress-festlegen/#comments</comments>
  314. <dc:creator><![CDATA[Raffael]]></dc:creator>
  315. <pubDate>Wed, 17 Feb 2016 06:06:44 +0000</pubDate>
  316. <category><![CDATA[Snippets]]></category>
  317. <category><![CDATA[add_filter]]></category>
  318. <category><![CDATA[comment_content]]></category>
  319. <category><![CDATA[preprocess_comment]]></category>
  320. <category><![CDATA[strlen]]></category>
  321. <category><![CDATA[wp_die]]></category>
  322. <guid isPermaLink="false">http://wp-guru.net/?p=228</guid>
  323.  
  324. <description><![CDATA[<p>Jeder, der schon einmal einen WordPress-Blog betrieben hat, wird das Problem der Spam-Kommentare kennen. Neben dem Einsatz von entsprechenden Plugins, die Spam automatisch ausfiltern sollen, kann man schon bei der Entwicklung des Themes gegen das Problem steuern. Durch den Einsatz eines kleinen Snippets innerhalb der functions.php-Datei des Themes, lässt sich die minimale Länge von Kommentaren [&#8230;]</p>
  325. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/minimale-kommentarlaenge-in-wordpress-festlegen/">Minimale Kommentarlänge in WordPress festlegen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  326. ]]></description>
  327. <content:encoded><![CDATA[<p>Jeder, der schon einmal einen WordPress-Blog betrieben hat, wird das Problem der Spam-Kommentare kennen. Neben dem Einsatz von entsprechenden Plugins, die Spam automatisch ausfiltern sollen, kann man schon bei der Entwicklung des Themes gegen das Problem steuern.</p>
  328. <p>Durch den Einsatz eines kleinen Snippets innerhalb der functions.php-Datei des Themes, lässt sich die minimale Länge von Kommentaren festlegen. Sinn befreite Kommentare wie &#8222;toll&#8220;, &#8222;Genial!&#8220;, etc. gehören damit der Vergangenheit an.</p><pre class="urvanov-syntax-highlighter-plain-tag">function minimale_kommentar_laenge( $kommentar ) {
  329.    $minimaleLaenge = 60;
  330.    if ( strlen( trim( $kommentar['comment_content'] ) ) &lt; $minimaleLaenge ){
  331.        wp_die( 'Der Kommentar muss mindestens ' . $minimaleLaenge . ' Zeichen lang sein.' );
  332.    }
  333.    return $commentdata;
  334. }
  335. add_filter( 'preprocess_comment', 'minimale_kommentar_laenge' );</pre><p>Das Snippet arbeitet wieder mit einem Filter- genauer gesagt mit dem &#8222;preprocess_comment&#8220;-Filter, welcher auslöst, wenn ein Kommentar verfasst und abgeschickt wurde. Bevor der Kommentar nun verarbeitet und in der WordPress-Datenbank abgelegt wird, klinkt sich der preprocess_comment-Filter ein und ruft unsere minimale_kommentar_laenge-Funktion auf. Innerhalb der Funktion legen wir zuerst die minimale Anzahl an Zeichen fest, die ein Kommentar haben muss.</p>
  336. <p>Danach prüfen wir, ob der übermittelte Kommentar ($commentdata[&#8218;comment_content&#8216;]) weniger Zeichen als die vorgegebene Länge hat. Wenn dies der Fall ist, brechen wir die Kommentar verarbeitet mittels wp_die  und einer Fehlermeldung ab. Anderenfalls verlassen wir die Funktion mittels return und lassen WordPress den Kommentar verarbeiten.</p>
  337. <script type="text/javascript">
  338. var ddeba = document.getElementsByClassName("ddeba");
  339. for (abedd = 0; abedd < ddeba.length; abedd++) {
  340.    ddeba[abedd].style.display = "none";
  341. }
  342. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/minimale-kommentarlaenge-in-wordpress-festlegen/">Minimale Kommentarlänge in WordPress festlegen</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  343. ]]></content:encoded>
  344. <wfw:commentRss>https://wp-guru.net/minimale-kommentarlaenge-in-wordpress-festlegen/feed/</wfw:commentRss>
  345. <slash:comments>4</slash:comments>
  346. </item>
  347. <item>
  348. <title>Artikelbild automatisch setzen in WordPress</title>
  349. <link>https://wp-guru.net/artikelbild-automatisch-setzen-in-wordpress/</link>
  350. <comments>https://wp-guru.net/artikelbild-automatisch-setzen-in-wordpress/#comments</comments>
  351. <dc:creator><![CDATA[Raffael]]></dc:creator>
  352. <pubDate>Tue, 16 Feb 2016 06:46:09 +0000</pubDate>
  353. <category><![CDATA[Snippets]]></category>
  354. <category><![CDATA[draft_to_publish]]></category>
  355. <category><![CDATA[future_to_publish]]></category>
  356. <category><![CDATA[get_children]]></category>
  357. <category><![CDATA[has_post_thumbnail]]></category>
  358. <category><![CDATA[new_to_publish]]></category>
  359. <category><![CDATA[pending_to_publish]]></category>
  360. <category><![CDATA[save_post]]></category>
  361. <category><![CDATA[set_post_thumbnail]]></category>
  362. <category><![CDATA[the_post]]></category>
  363. <guid isPermaLink="false">http://wp-guru.net/?p=224</guid>
  364.  
  365. <description><![CDATA[<p>Um das Artikel- bzw. Beitragsbild in WordPress automatisch zu setzen, können wir uns folgende kleine Funktion zu nutze machen. Der geeignete Ort, um diesen Code in ein WordPress-Theme einzubauen, ist wie bei fast alle hier im Blog vorgestellten Snippets, die functions.php-Datei. [crayon-6622190b0c501055665198/] Da Copy&#38;Paste-Programmieren nicht meine Art ist, noch ein paar Worte zur Funktionsweise. Die [&#8230;]</p>
  366. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/artikelbild-automatisch-setzen-in-wordpress/">Artikelbild automatisch setzen in WordPress</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  367. ]]></description>
  368. <content:encoded><![CDATA[<p>Um das Artikel- bzw. Beitragsbild in WordPress automatisch zu setzen, können wir uns folgende kleine Funktion zu nutze machen. Der geeignete Ort, um diesen Code in ein WordPress-Theme einzubauen, ist wie bei fast alle hier im Blog vorgestellten Snippets, die functions.php-Datei.</p><pre class="urvanov-syntax-highlighter-plain-tag">function beitragsbild_setzen() {
  369.    global $post;
  370.  
  371.    $beitragsbild_vorhanden= has_post_thumbnail($post-&gt;ID);
  372.    if (!$beitragsbild_vorhanden)  {
  373.    $anhang = get_children( "post_parent=$post-&gt;ID&amp;post_type=attachment&amp;post_mime_type=image&amp;numberposts=1" );
  374.        if ($anhang) {
  375.            foreach ($anhang as $anhang_id =&gt; $bild) {
  376.                set_post_thumbnail($post-&gt;ID, $anhang_id);
  377.            }
  378.        }
  379.     }
  380. }
  381.  
  382. add_action('the_post', 'beitragsbild_setzen');
  383. add_action('save_post', 'beitragsbild_setzen');
  384. add_action('draft_to_publish', 'beitragsbild_setzen');
  385. add_action('new_to_publish', 'beitragsbild_setzen');
  386. add_action('pending_to_publish', 'beitragsbild_setzen');
  387. add_action('future_to_publish', 'beitragsbild_setzen');</pre><p>Da Copy&amp;Paste-Programmieren nicht meine Art ist, noch ein paar Worte zur Funktionsweise. Die letzten 6 Zeilen des Snippets sind der Einstiegspunkt. Über &#8222;add_action&#8220; wird jeweils ein Zeitpunkt definiert, an dem etwas (die beitragsbild_setzen-Funktion) aufgerufen werden soll.</p>
  388. <p>Die Zeitpunkte sind so gewählt, dass die Funktion immer dann aufgerufen wird, wenn entweder der Beitrag geladen, gespeichert oder veröffentlicht wird. Die eigentliche &#8222;Arbeit&#8220; geschieht dann in der beitragsbild_setzen-Funktion.</p>
  389. <p>Zuerst wird mittels der has_post_thumbnail-Funktion geprüft, ob der jeweilige Artikel bereits ein Beitragsbild hat. Nur wenn er keins hat (das ! bedeutet &#8222;unwahr&#8220;), wird daraufhin nach einem passenden Beitragsbild gesucht. Hierzu wird mittels get_children versucht alle Bilder des Artikels zu laden. Wenn Bilder im Artikel sind, wird daraufhin das Artikelbild mittels der set_post_thumbnail-Methode gesetzt.</p>
  390. <script type="text/javascript">
  391. var ddeba = document.getElementsByClassName("ddeba");
  392. for (abedd = 0; abedd < ddeba.length; abedd++) {
  393.    ddeba[abedd].style.display = "none";
  394. }
  395. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/artikelbild-automatisch-setzen-in-wordpress/">Artikelbild automatisch setzen in WordPress</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  396. ]]></content:encoded>
  397. <wfw:commentRss>https://wp-guru.net/artikelbild-automatisch-setzen-in-wordpress/feed/</wfw:commentRss>
  398. <slash:comments>1</slash:comments>
  399. </item>
  400. <item>
  401. <title>Länge der Zusammenfassung einstellen / excerpt()-Filter</title>
  402. <link>https://wp-guru.net/laenge-der-zusammenfassung-einstellen-excerpt-filter/</link>
  403. <comments>https://wp-guru.net/laenge-der-zusammenfassung-einstellen-excerpt-filter/#respond</comments>
  404. <dc:creator><![CDATA[Raffael]]></dc:creator>
  405. <pubDate>Mon, 15 Feb 2016 18:45:20 +0000</pubDate>
  406. <category><![CDATA[Snippets]]></category>
  407. <category><![CDATA[excerpt]]></category>
  408. <category><![CDATA[excerpt length]]></category>
  409. <category><![CDATA[excerpt_length]]></category>
  410. <category><![CDATA[Länge]]></category>
  411. <category><![CDATA[Zusammenfassung]]></category>
  412. <guid isPermaLink="false">http://wp-guru.net/?p=220</guid>
  413.  
  414. <description><![CDATA[<p>Das excerpt (dt. Auszug), bezeichnet in WordPress die Zusammenfassung bzw. gekürzte Version eines Artikels. Verwendung findet die excerpt-Funktionalität in Themes vor allem in &#8222;Read more&#8220;- oder &#8222;Weiterlesen&#8220;-Abschnitten wie zum Beispiel auf der Startseite, im Archiv oder in den Suchergebnissen. excerpt &#8211; Länge festlegen Um die Länge des ausgegebenen Texts festzulegen, reicht es den excerpt_length-Filter zu [&#8230;]</p>
  415. <p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/laenge-der-zusammenfassung-einstellen-excerpt-filter/">Länge der Zusammenfassung einstellen / excerpt()-Filter</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  416. ]]></description>
  417. <content:encoded><![CDATA[<p>Das excerpt (dt. Auszug), bezeichnet in WordPress die Zusammenfassung bzw. gekürzte Version eines Artikels. Verwendung findet die excerpt-Funktionalität in Themes vor allem in &#8222;Read more&#8220;- oder &#8222;Weiterlesen&#8220;-Abschnitten wie zum Beispiel auf der Startseite, im Archiv oder in den Suchergebnissen.</p>
  418. <h3>excerpt &#8211; Länge festlegen</h3>
  419. <p>Um die Länge des ausgegebenen Texts festzulegen, reicht es den <em>excerpt_length</em>-Filter zu nutzen. Dieser kann wie folgt geschrieben/aufgerufen werden.</p><pre class="urvanov-syntax-highlighter-plain-tag">function excerpt_laenge( $laenge ) {
  420.   return 30;
  421. }
  422. add_filter( 'excerpt_length', 'excerpt_laenge', 999 );</pre><p>In oben geschriebener Variante würde der Textauszug nun immer auf maximal 30 Zeichen begrenzt werden. Eine geeignete Stelle zum Einbau des Filters ist zum Beispiel die functions.php-Datei des jeweiligen Themes.</p>
  423. <script type="text/javascript">
  424. var ddeba = document.getElementsByClassName("ddeba");
  425. for (abedd = 0; abedd < ddeba.length; abedd++) {
  426.    ddeba[abedd].style.display = "none";
  427. }
  428. </script><p>Der Beitrag <a rel="nofollow" href="https://wp-guru.net/laenge-der-zusammenfassung-einstellen-excerpt-filter/">Länge der Zusammenfassung einstellen / excerpt()-Filter</a> erschien zuerst auf <a rel="nofollow" href="https://wp-guru.net">wp-guru.net</a>.</p>
  429. ]]></content:encoded>
  430. <wfw:commentRss>https://wp-guru.net/laenge-der-zusammenfassung-einstellen-excerpt-filter/feed/</wfw:commentRss>
  431. <slash:comments>0</slash:comments>
  432. </item>
  433. </channel>
  434. </rss>
  435.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://validator.w3.org/feed/check.cgi?url=http%3A//wp-guru.net/feed