Artikel & Guides

5
(1)

kostenlose WordPress Snippets

letzte Änderung: 18. Februar 2023


Affiliate - Links

Auf meiner Seite verwende ich sogenannte Affiliate-Links, diese sind mit einem gekennzeichnet, damit du diese auch direkt erkennen kannst.

Sobald du über so einen Link das Produkt kaufen würdest, erhalte ich möglicherweise eine Provision vom jeweiligen Anbieter.
Außerdem entstehen für Dich natürlich keine zusätzlichen Kosten!
Mich unterstützt du damit aber enorm und trägst dazu bei, dass es auch in Zukunft weitere Guides und Vorstellungen von mir hier geben wird.

Ich empfehle nur Tools / PlugIns / Anbieter / Produkte, hinter denen ich auch wirklich stehe, bzw. ich auch einen Mehrwert sehe.

DarkWolfCave.de ist Teilnehmer des Amazon-Partnerprogramm, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.


c78ca0ee734a44f9b1da0980c8ed0eab

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.

ACHTUNG! Bitte lesen!
Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.
Aber dennoch… Backups sind immer gut….Am besten mit UpdraftPlus
Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze….


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'] = '<p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
					 '<label for="wp-comment-cookies-consent">Meinen Namen und E-Mail in diesem Browser speichern, bis ich wieder kommentiere.</label></p>';
	return $fields;
}

JavaScript von Contact Form 7 NUR auf der Kontaktseite laden lassen

Mit Contact Form 7 kann man schöne Formulare erstellen. Allerdings fügt dies im Header die entsprechenden JS-Aufrufe hinzu.
Und lädt somit bei jeder Seite den Code. Meistens benötigt man diesen aber auch wirklich nur auf der Kontakt-Seite.

Mit diesem Snippet entfernst du das generelle Laden des JS-Blocks. Wie immer entweder in die functions.php (Child-Theme) oder über das PlugIn CodeSnippets einbauen. Welches ich auch empfehlen würde.

Die Page-ID musst du entsprechend ändern. Wenn du im Admin-Bereich bei „Seiten“ bist, und dort mit der Maus über deine
Kontakt-Seite gehst, siehst du einen Link mit einer Zahl – dies ist die PageID (hier 6060)

function contactform7_only_on_ContactPage(){
     if(! is_page(6060) )    // <-- Page ID ändern!
   {
//entfernen von JS und CSS von allen anderen Seiten außer der PageID
wp_dequeue_script('contact-form-7');
wp_dequeue_style('contact-form-7');
   }
}

add_action( 'wp_enqueue_scripts', 'contactform7_only_on_ContactPage' );

Aktualisierung (last modified) Datum im Kopfbereich anzeigen

Mit diesem kleinen Snippet kannst du im Kopfbereich (PageHero) das angezeigte Erstellungsdatum in das zuletzt geänderte Datum (last modified) ändern. Du kannst diesen Shortcode dann mit modified_date (in [] gesetzt) von überall aufrufen. In meinem Fall dann im „Element“ – „PageHero“.

function post_modified_date() {
    return get_the_modified_date();
}
add_shortcode( 'modified_date', 'post_modified_date' );

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
	 {
	return 'Erstellt am: ' . get_the_date();
	}
}
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. '<br />'.' Letzte Änderung: ' . $mod_date;
    }
	else
	{
		return 'Erstellt am: ' . $create_date;
	}
}
add_shortcode( 'both_date', 'post_both_date' );

Nach falschem Login – Weiterleitung auf andere Seite

Mit diesem kleinen Teufelswerk kannst du dich selbst, aber auch Menschen mit bösen Absichten zum Wahnsinn treiben…
Bei jedem falschen Login-Versuch wird derjenige direkt auf eine andere Seite weitergeleitet.
In diesem Beispiel zu google.de. Einbau wie immer in functions.php (Child-Theme!), eigene php als Plugin oder über das PlugIn CodeSnippets .

if ( ! function_exists( 'dwc_wrong_login_redirect' ) ) :
/**
 * Nach falsche Login Weiterleitung auf andere Seite, hier google.de
 */
function dwc_wrong_login_redirect() {
  wp_redirect( 'https://www.google.de' );
  exit;
}
add_filter( 'login_errors', 'dwc_wrong_login_redirect' );
endif;

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' );

Weitere Snippets Beiträge – meist etwas umfangreicher

PHP picture
Avatar-Foto
DarkWolf

WordPress Code Snippets – Wörter zählen

Ein weiterer Part aus der „WordPress Code Snippets“ Serie wird dir eine Möglichkeit zeigen, wie …

PHP picture
Avatar-Foto
DarkWolf

WordPress Code Snippets – Random Post Shortcode

Heute zeige ich dir aus der Reihe „WordPress Code Snippets“ ein kleines Snippet, mit dem …

PHP picture
Avatar-Foto
DarkWolf

Child Theme oder PlugIn

Wenn du mit WordPress arbeitest wirst du sicher irgendwann an einen Punkt kommen, an dem …

PHP picture
Avatar-Foto
DarkWolf

Font Awesome lokal bei WordPress einbinden

Du bist auf der Suche nach einem Guide wie man Font Awesome lokal einbinden und …

Newsletter & Updates

Trage dich in den Newsletter ein und erhalte sporadisch Neuigkeiten zu DarkWolfCave und neuen Themen.
Versprochen: Es werden keine Daten verkauft und ich werde dein Postfach nicht ständig zuspammen…

Verpasse keine neuen Themen und Videos mehr

Trage dich in den Newsletter ein und erhalte sporadisch Neuigkeiten zu DarkWolfCave und neuen Themen.
Versprochen: Es werden keine Daten verkauft und ich werde dein Postfach nicht ständig zuspammen…

Gefällt dir der Beitrag?
Hinterlasse gerne ein paar Sterne!

Wie hilfreich war dieser Beitrag für Dich?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 1

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Inline Feedbacks
Alle Kommentare anzeigen