kostenlose WordPress Snippets
Willkommen zu einer umfangreichen Sammlung kostenloser WordPress-Snippets! Snippets sind kleine Code-Schnipsel, die das Leben eines WordPress-Entwicklers erheblich erleichtern können. Sie ermöglichen es, bestimmte Funktionen oder Anpassungen schnell und einfach in deine WordPress-Seite zu integrieren. In diesem Artikel werde ich dir eine Vielzahl nützlicher Snippets vorstellen, die dein WordPress-Erlebnis verbessern können.
DarkWolfCave.de
Kostenlose WordPress Snippets
Snippets können dir das Leben generell etwas leichter machen. Manchmal allerdings auch neue Fehlermöglichkeiten einbauen. Also am besten immer zuerst Backups von den Dateien / Datenbanken / usw erstellen bei denen etwas geändert werden soll. Ich nutze dafür UpdraftPlus schon seit dem ich mit dem Blog gestartet habe und kann es dir nur sehr ans Herz legen.
Was brauchen wir für die Snippets?
Damit du die hier vorgestellten Snippets auch bei dir einbauen kannst, benötigst du entweder ein Child-Theme, indem du dann die Änderungen in der functions.php usw. durchführst, oder du nutzt ein Plugin.
Ich empfehle dir das, in der einfachen Version sogar kostenlose, PlugIn “Code Snippets”. Mit diesem ist es ganz einfach kleine Änderungen (also die Snippets) in deine WordPress-Seite einzubauen. Und auch wieder zu deaktivieren! Einfach ein und ausschalten. Perfekt zum testen und rumspielen.
Weiterhin hat CodeSnippets eine geniale Funktion eingebaut. Denn in dem Fall dass deine Änderungen deine komplette Seite zerstören würden, erhältst du lediglich den Hinweis dass das doof war und wirst zu der Version vor diesen Änderungen zurückgeleitet. Wie gesagt: genial!
Außerdem hast du damit deine Snippets schön übersichtlich auf einer Seite und musst auch nicht selbst in der functions.php rumfummeln. Weiterhin bleiben die Änderungen auch nach einem Update des Themes vorhanden (sofern keine grundsätzlichen Filter usw einen anderen Namen bekommen sollten…).
Auf dieser Seite werde ich dir kleinere, aber dennoch nützliche, Snippets vorstellen. Es wird aber auch noch ein paar umfangreichere geben. Diesen widme ich dann allerdings einen eigenen Beitrag und verlinke sie gaaaanz unten.
WebFonts aus Customizer entfernen
**Entfernt im Customizer-Bereich die Auswahl für die Google WebFonts. Löscht NICHT die eigentliche Webanbindung!**
// hiermit wird die Auswahl für die Google Fonts im Customizer-Bereich entfernt.
// Entfernt NICHT grundsätzlich die Google Web Fonts!!!
add_action('admin_init', function () {
add_filter('generate_google_fonts_array', function(){
return array();
});
});
IP Adressen nicht speichern
**Kleines Snippet zum Löschen der IP-Adressen bei den Kommentaren (löscht keine bereits eingetragenen)
Erklärung: es wird keine IP mehr mitgesendet , der Wert wird einfach auf leer ('') gesetzt.**
function dw_IP_nicht_bei_kommentaren_speichern( $ip ) {
return '';
}
add_filter( 'pre_comment_user_ip', 'dw_IP_nicht_bei_kommentaren_speichern' );
Kommentar-Feld anpassen (Website entfernen)
**Hiermit wird das Feld "Website" (url) aus dem Kommentarfeld entfernt und der Text angepasst.**
add_action( 'after_setup_theme', 'dw_add_comment_url_filter' );
function dw_add_comment_url_filter() {
add_filter( 'comment_form_default_fields', 'dw_disable_comment_url', 20 );
}
function dw_disable_comment_url($fields) {
unset($fields['url']);
return $fields;
}
add_filter( 'comment_form_default_fields', 'dw_comment_form_change_cookies_consent' );
function dw_comment_form_change_cookies_consent( $fields ) {
$commenter = wp_get_current_commenter();
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
$fields['cookies'] = '' .
'Meinen Namen und E-Mail in diesem Browser speichern, bis ich wieder kommentiere.
';
return $fields;
}
JavaScript von Contact Form 7 NUR auf der Kontaktseite laden lassen
Aktualisierung (last modified) Datum im Kopfbereich anzeigen
Entweder letzte Aktualisierung oder letzte Änderung
**Mit dem oben genannten Code kann man auch noch etwas spielen und z.B. einbauen dass das Erstellungsdatum angezeigt werden soll solange es keine
Änderung gibt und ansonsten das Änderungsdatum. Hier ist der Text dann im Script fest hinterlegt. Ansonsten wäre der Aufruf genauso wie im oberen
Beispiel mit `modified_date` (in [] gesetzt). Bitte nicht beide gleichzeitig aktiv setzen...
**
function post_modified_date () {
$mod_date = get_the_modified_date();
if ( get_the_date() !== $mod_date ) {
return 'letzte Änderung: ' . $mod_date;
}
else
}
add_shortcode( 'modified_date', 'post_modified_date' );
Erstellungsdatum UND Änderungsdatum anzeigen
**Jetzt kann man das Snippet noch etwas umbiegen und erhält das Erstellungsdatum sowie das Änderungsdatum - sofern etwas geändert wurde.
Falls nicht sieht man nur das Erstellungsdatum.
Der Aufruf hier wäre mit `both_date `(in [] gesetzt). Aufgerufen wird dieser Shortcode immer da wo man es sehen möchte.
**
function post_both_date () {
$mod_date = get_the_modified_date();
$create_date = get_the_date();
if ( $create_date !== $mod_date ) {
return 'Erstellt am: '. $create_date. '
'.' Letzte Änderung: ' . $mod_date;
}
else
}
add_shortcode( 'both_date', 'post_both_date' );
Nach falschem Login - Weiterleitung auf andere Seite
Standard Mail-Versand ohne PlugIn auf SMTP Mail-Versand ändern
Wordpress (und dafür programmierte Tools/PlugIns) versenden E-Mails in der Regel über die normale mail()-Funktion in PHP. Dies kann auch schon mal zu Problemen führen, manche Webhoster haben die mail()-Funktion sogar ganz deaktiviert. Nun könnte man auf eins dieser unzähligen PlugIns zurückgreifen, oder man nutzt seine eigenen Snippets und aktiviert SMTP für phpmailer. Einbau wie immer in die functions.php (Child-Theme!), eigene php als Plugin oder über das PlugIn Code Snippets . Du musst in der wp-config.php einige Änderungen, bzw deine Zugangsdaten zu deinem Mailserver/Anbieter eintragen, über die Wordpress dann Mails versenden soll.
// wp-config.php
// die SMTP Daten müssen VOR diesen Einträgen hinzugefügt werden (auf jeden Fall vor der IF "ABSPATH" Abfrage)
// /* That's all, stop editing! Happy blogging. */
// /** Absolute path to the WordPress directory. */
// if ( !defined('ABSPATH') )
// Bitte entsprechend deines Anbieters/Servers die Daten ändern
// SMTP Authentication
define( 'SMTP_USER', 'user@example.com' ); // Username to use for SMTP authentication
define( 'SMTP_PASS', 'smtp password' ); // Password to use for SMTP authentication
define( 'SMTP_HOST', 'smtp.example.com' ); // The hostname of the mail server
define( 'SMTP_FROM', 'website@example.com' ); // SMTP From email address
define( 'SMTP_NAME', 'e.g Website Name' ); // SMTP From name
define( 'SMTP_PORT', '25' ); // SMTP port number - likely to be 25, 465 or 587
define( 'SMTP_SECURE', 'tls' ); // Encryption system to use - ssl or tls
define( 'SMTP_AUTH', true ); // Use SMTP authentication (true|false)
define( 'SMTP_DEBUG', 0 ); // for debugging purposes only set to 1 or 2
// folgendes in die functions.php (CHILD) oder über das Tool Code Snippets neu hinzufügen
// die SMTP Variablen werden in der wp-config.php gesetzt
function send_smtp_email( $phpmailer ) {
$phpmailer→isSMTP();
$phpmailer→Host = SMTP_HOST;
$phpmailer→SMTPAuth = SMTP_AUTH;
$phpmailer→Port = SMTP_PORT;
$phpmailer→Username = SMTP_USER;
$phpmailer→Password = SMTP_PASS;
$phpmailer→SMTPSecure = SMTP_SECURE;
$phpmailer→From = SMTP_FROM;
$phpmailer→FromName = SMTP_NAME;
}
add_action( 'phpmailer_init', 'send_smtp_email' );
Kommentare