Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

46 äußerst nützliche Tricks für die WordPress-Funktionsdatei

Die WordPress-Funktionsdatei, bekannt als functions.php, ist ein leistungsstarkes Werkzeug, das mit jedem WordPress-Theme geliefert wird. Es funktioniert wie ein Plugin und ermöglicht es Ihnen, Ihrer Website ganz einfach individuellen Code hinzuzufügen.

Wir verwenden individuellen Code auf unseren Websites, wenn ein kurzes Stück Code verwendet werden kann. Diese Vielseitigkeit und Flexibilität von WordPress ermöglicht es uns, die Funktionalität mehrerer Plugins auf eine einfach zu verwaltende Weise zu kombinieren.

In diesem Artikel werden wir einige dieser praktischen und nützlichen Tricks für die Verwendung Ihrer WordPress-Funktionsdatei vorstellen, die Ihnen helfen, mehr aus Ihrer WordPress Website herauszuholen.

Handy WordPress functions file tips and hacks

Was ist die Funktionsdatei in WordPress?

Die Datei functions.php ist eine WordPress-Theme-Datei, die in allen kostenlosen und Premium-WordPress-Themes enthalten ist.

Es fungiert als Plugin und ermöglicht Themenentwicklern, Themenfunktionen zu definieren. Benutzer können es auch verwenden, um ihre benutzerdefinierten Code-Snippets in WordPress hinzuzufügen.

Allerdings ist es nicht sinnvoll, individuell angepassten Code in einer Funktionsdatei zu speichern.

Wenn Sie Ihr Theme aktualisieren, wird die Datei functions.php überschrieben, und Sie verlieren Ihre individuell angepassten Code-Snippets. Sie können ein Snippet nicht deaktivieren, ohne es zu löschen.

Stattdessen empfehlen wir jedem, WPCode zu verwenden, ein kostenloses Plugin, mit dem Sie Code-Snippets in Ihre WordPress-Website einfügen können, ohne ein Theme, ein Plugin oder die WordPress-Kerndateien zu bearbeiten.

Warum empfehlen wir WPCode?

  • Speichern Sie individuelle Codeschnipsel, ohne Kerndateien zu bearbeiten.
  • Automatisches Einfügen von Codefragmenten an den gewünschten Stellen
  • Jeder Codeschnipsel wird separat gespeichert und kann einzeln ausgeschaltet werden.
  • Ein eingebauter Sicherheitsmechanismus deaktiviert ein Code-Snippet, wenn es auf Ihrer Website einen Fehler verursacht.

Als Bonus verfügt das WPCode-Plugin über eine umfangreiche Bibliothek mit vorkonfigurierten Code-Snippets (darunter viele aus dieser Liste). Sie können diese Codeschnipsel mit ein paar Klicks bereitstellen.

wpcode library

Nachfolgend finden Sie eine Liste der Punkte, die wir in diesem Artikel behandeln werden. Sie können zu einem Punkt springen, der Sie interessiert, oder einfach weitergehen:

So fügen Sie diese Codeschnipsel zu Ihrer Website hinzu

Bevor wir beginnen, schauen wir uns an, wie Sie die Codeschnipsel aus diesem Artikel in Ihre WordPress-Funktionsdatei einfügen.

1. Hinzufügen von benutzerdefiniertem Code zur Funktionsdatei mit WPCode (empfohlen)

Zunächst müssen Sie das WPCode-Plugin installieren und aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung für die Installation eines WordPress-Plugins.

Gehen Sie nach der Aktivierung auf die Seite Code Snippets “ + Snippet hinzufügen. Sie sehen die Code-Bibliothek von WPCode mit vielen hilfreichen benutzerdefinierten Code-Schnipseln, die bereits hinzugefügt wurden.

Add snippet

Wenn Ihr Codeschnipsel dasselbe tut wie die Schnipsel in der Bibliothek, dann können Sie den bereits hinzugefügten ausprobieren.

Alternativ können Sie auch auf den Link „leeres Snippet“ klicken, um mit dem Hinzufügen Ihres benutzerdefinierten Code-Snippets fortzufahren.

Geben Sie auf dem nächsten Bildschirm einen Titel für Ihren benutzerdefinierten Code ein. Das kann alles sein, was Ihnen hilft zu erkennen, was dieses Code-Snippet tut.

Adding your custom code

Als nächstes müssen Sie den „Code-Typ“ auswählen. Wenn Sie einen Code hinzufügen, der in der Datei functions.php funktioniert, müssen Sie „PHP Snippet“ auswählen.

Darunter müssen Sie Ihren eigenen Code kopieren und in das Feld „Codevorschau“ einfügen.

Schließlich müssen Sie Ihr Snippet als „aktiv“ festlegen und auf die Schaltfläche „Snippet speichern“ klicken.

Activate and save

Das gespeicherte Snippet wird nun so ausgeführt, als hätten Sie es der Datei functions.php hinzugefügt.

Bei Bedarf können Sie den Vorgang wiederholen, um weitere Snippets hinzuzufügen. Sie können ein Snippet auch deaktivieren, ohne es zu löschen.

2. Benutzerdefinierten Code direkt in die Funktionsdatei einfügen

Die WPCode-Methode ist immer besser als das Hinzufügen von Code in die Funktionsdatei des Themes.

Manche Benutzer schreiben jedoch Code für das benutzerdefinierte WordPress-Theme eines Kunden oder ziehen es einfach vor, Code in die Datei functions.php einzufügen.

In diesem Fall können Sie folgenden Code in die Datei functions.php Ihres WordPress-Themes einfügen.

Stellen Sie zunächst mit einem FTP-Client eine Verbindung zu Ihrer WordPress-Website her. Sobald Sie verbunden sind, navigieren Sie zum Ordner /wp-content/themes/your-wordpress-theme/.

Edit functions.php file

Dort finden Sie die Datei functions.php. Klicken Sie einfach mit der rechten Maustaste und wählen Sie „Bearbeiten“ oder laden Sie die Datei zur Bearbeitung auf Ihren Computer herunter.

Sie können es mit jedem einfachen Texteditor wie Notepad oder TextEdit bearbeiten.

Blättern Sie dann bis zum Ende der Datei functions.php und fügen Sie dort Ihren Code ein. Sie können Ihre Änderungen speichern und die aktualisierte Datei functions.php in Ihren Themenordner hochladen.

Sie können nun Ihre WordPress-Website besuchen, um Ihren benutzerdefinierten Code in Aktion zu sehen.

Schauen wir uns nun 46 verschiedene nützliche Tricks für die WordPress-Funktionsdatei an.

1. WordPress Versionsnummer entfernen

Sie sollten immer die neueste Version von WordPress verwenden. Möglicherweise möchten Sie jedoch die WordPress-Versionsnummer von Ihrer Website entfernen.

Fügen Sie diesen Codeschnipsel einfach in Ihre Funktionsdatei oder als neuen WPCode-Snippet ein:

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Detaillierte Anweisungen finden Sie in unserem Leitfaden zum richtigen Entfernen der WordPress-Versionsnummer.

Sie möchten Ihren WordPress-Verwaltungsbereich mit einem White-Label versehen? Der erste Schritt besteht darin, ein individuelles Dashboard-Logo hinzuzufügen.

Zunächst müssen Sie Ihr benutzerdefiniertes Logo als custom-logo.png in den Bilderordner Ihres Themes hochladen. Ihr benutzerdefiniertes Logo sollte im Verhältnis 1:1 (ein quadratisches Bild) in 16×16 Pixel sein.

Danach können Sie diesen Code in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet einfügen:

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

Weitere Einzelheiten finden Sie in unserer Anleitung zum Hinzufügen eines benutzerdefinierten Dashboard-Logos in WordPress.

3. Ändern des Footers im WordPress Adminpanel

Die Fußzeile im WordPress-Verwaltungsbereich zeigt die Nachricht ‚Thank you for creating with WordPress‘. Sie können sie durch Hinzufügen dieses Codes nach Belieben ändern:

function remove_footer_admin () {

echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');

Fühlen Sie sich frei, den Text und die Links zu ändern, die Sie hinzufügen möchten. So sieht es auf unserer Testseite aus.

Admin footer

4. Hinzufügen benutzerdefinierter Dashboard-Widgets in WordPress

Sie kennen wahrscheinlich die Widgets, die viele Plugins und Themes dem WordPress-Dashboard hinzufügen. Sie können selbst eines hinzufügen, indem Sie den folgenden Code einfügen:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
global $wp_meta_boxes;

wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}

function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}

So würde es aussehen:

Custom dashboard widget

Weitere Informationen finden Sie in unserem Tutorial über das Hinzufügen von benutzerdefinierten Dashboard-Widgets in WordPress.

5. Ändern Sie den Standard-Gravatar in WordPress

Haben Sie den Standard-Avatar des mysteriösen Mannes in Blogs gesehen? Sie können ihn ganz einfach durch Ihren eigenen Avatar mit Ihrem Markenzeichen ersetzen.

Laden Sie einfach das Bild hoch, das Sie als Standard-Avatar verwenden möchten, und fügen Sie diesen Code in Ihre Funktionsdatei oder das WPCode-Plugin ein:

function wpb_custom_default_gravatar( $avatar_defaults ) {
	$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
	$avatar_defaults[$myavatar] = 'Default Gravatar';
	return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );

Jetzt können Sie die Seite Einstellungen “ Diskussion aufrufen und Ihren Standard-Avatar auswählen.

Custom default gravatar

Detaillierte Anweisungen finden Sie in unserer Anleitung zum Ändern des Standard-Gravatars in WordPress.

6. Dynamisches Copyright-Datum im WordPress-Footer

Sie können einfach ein Copyright-Datum hinzufügen, indem Sie die Fußzeilenvorlage in Ihrem Thema bearbeiten. Es wird jedoch nicht angezeigt, wann Ihre Website gestartet wurde, und es wird nicht automatisch im folgenden Jahr geändert.

Dieser Code kann ein dynamisches Copyright-Datum in der WordPress-Fußzeile hinzufügen:

function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}

Nachdem Sie diese Funktion hinzugefügt haben, müssen Sie Ihre Datei footer.php öffnen und den folgenden Code an der Stelle einfügen, an der Sie das dynamische Copyright-Datum anzeigen möchten:

<?php echo wpb_copyright(); ?>

Diese Funktion sucht nach dem Datum Ihres ersten Beitrags und dem Datum Ihres letzten Beitrags. Sie gibt dann die Jahre zurück, wo immer Sie die Funktion aufrufen.

Tipp: Wenn Sie das WPCode-Plugin verwenden, können Sie die beiden Code-Snippets kombinieren. Wählen Sie dann im Abschnitt „Einfügung“ der Snippet-Einstellungen die Position „Site Wide Footer“. Dadurch wird das Copyright-Datum automatisch in der Fußzeile angezeigt, ohne dass Sie die Datei footer.php Ihres Themes bearbeiten müssen.

Add to footer using WPCode

Weitere Einzelheiten finden Sie in unserer Anleitung zum Hinzufügen dynamischer Copyright-Daten in WordPress.

7. Zufällige Änderung der Hintergrundfarbe in WordPress

Möchten Sie die Hintergrundfarbe Ihres WordPress-Blogs bei jedem Besuch und Neuladen der Seite zufällig ändern? Hier erfahren Sie, wie Sie dies ganz einfach tun können.

Fügen Sie zunächst diesen Code in die Funktionsdatei Ihres Themes oder in das WPCode-Plugin ein:

function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];

echo $color; 
} 

Als nächstes müssen Sie die Datei header.php in Ihrem Thema bearbeiten. Suchen Sie den <body>-Tag und ersetzen Sie ihn durch diese Zeile:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">

Sie können nun Ihre Änderungen speichern und Ihre Website besuchen, um den Code in Aktion zu sehen.

Random background colors

Weitere Details und alternative Methoden finden Sie in unserem Tutorial zum zufälligen Ändern der Hintergrundfarbe in WordPress.

8. WordPress-URLs aktualisieren

Wenn Ihre WordPress-Anmeldeseite ständig aktualisiert wird oder Sie nicht auf den Verwaltungsbereich zugreifen können, müssen Sie die WordPress-URLs aktualisieren.

Eine Möglichkeit, dies zu tun, ist die Verwendung der Datei wp-config.php. Wenn Sie dies tun, können Sie jedoch nicht die richtige Adresse auf der Einstellungsseite festlegen. Die Felder WordPress-URL und Site-URL sind dann gesperrt und können nicht bearbeitet werden.

Fügen Sie stattdessen einfach diesen Code in Ihre Funktionsdatei ein, um das Problem zu beheben:

update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );

Vergessen Sie nicht, example.com durch Ihren Domänennamen zu ersetzen.

Sobald Sie eingeloggt sind, können Sie im WordPress-Verwaltungsbereich auf die Seite Einstellungen gehen und die URLs festlegen.

Danach sollten Sie den Code entfernen, den Sie der Funktionsdatei oder WPCode hinzugefügt haben. Andernfalls werden diese URLs bei jedem Zugriff auf Ihre Website aktualisiert.

9. Zusätzliche Bildgrößen in WordPress hinzufügen

WordPress erzeugt automatisch mehrere Bildgrößen, wenn Sie ein Bild hochladen. Sie können auch zusätzliche Bildgrößen zur Verwendung in Ihrem Theme erstellen.

Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes oder als WPCode-Snippet ein:

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Mit diesem Code werden drei neue Bilder in unterschiedlichen Größen erstellt. Sie können den Code nach Belieben an Ihre Anforderungen anpassen.

Mit diesem Code können Sie dann an jeder beliebigen Stelle in Ihrem Thema eine Bildgröße anzeigen:

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Detaillierte Anweisungen finden Sie in unserem Leitfaden zur Erstellung zusätzlicher Bildgrößen in WordPress.

10. Neue Navigationsmenüs zu Ihrem Thema hinzufügen

WordPress ermöglicht es Theme-Entwicklern, Navigationsmenüs zu definieren und diese dann anzuzeigen.

Sie können diesen Code in die Funktionsdatei Ihres Themas oder als neues WPCode-Snippet einfügen, um eine neue Menüposition in Ihrem Thema zu definieren:

function wpb_custom_new_menu() {
  register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

Sie können nun in Ihrem WordPress-Dashboard zu Erscheinungsbild “ Menüs gehen und unter die Option „Mein benutzerdefiniertes Menü“ als Themenstandort sehen.

Custom menu location

Hinweis: Dieser Code funktioniert auch bei Block-Themes mit der vollständigen Website-Bearbeitungsfunktion. Wenn Sie ihn hinzufügen, wird der Bildschirm „Menüs“ unter „Erscheinungsbild“ aktiviert.

Nun müssen Sie diesen Code an der Stelle in Ihr Thema einfügen, an der Sie das Navigationsmenü anzeigen möchten:

 <?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

Detaillierte Anweisungen finden Sie in unserer Anleitung zum Hinzufügen benutzerdefinierter Navigationsmenüs in WordPress-Themes.

11. Felder des Autorenprofils hinzufügen

Möchten Sie zusätzliche Felder zu Ihren Autorenprofilen in WordPress hinzufügen? Das können Sie ganz einfach tun, indem Sie diesen Code in Ihre Funktionsdatei oder als neues WPCode-Snippet einfügen:

function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';

return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Dieser Code fügt Twitter- und Facebook-Felder zu Benutzerprofilen in WordPress hinzu.

New profile fields

Sie können diese Felder nun in Ihrer Autorenvorlage wie folgt anzeigen:

<?php echo get_the_author_meta('twitter') ?>

Vielleicht interessiert Sie auch unsere Anleitung zum Hinzufügen zusätzlicher Benutzerprofilfelder in der WordPress-Registrierung.

12. Hinzufügen von Widget-fähigen Bereichen oder Seitenleisten in WordPress-Themes

Dies ist einer der am häufigsten verwendeten Codeschnipsel, und viele Entwickler wissen bereits, wie man Widget-bereite Bereiche oder Seitenleisten zu WordPress-Themes hinzufügt. Aber es verdient es, auf dieser Liste für die Leute zu sein, die es nicht wissen.

Sie können den folgenden Code in Ihre functions.php-Datei oder als neues WPCode-Snippet einfügen:

// Register Sidebars
function custom_sidebars() {

	$args = array(
		'id'            => 'custom_sidebar',
		'name'          => __( 'Custom Widget Area', 'text_domain' ),
		'description'   => __( 'A custom widget area', 'text_domain' ),
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
		'before_widget' => '<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>',
	);
	register_sidebar( $args );

}
add_action( 'widgets_init', 'custom_sidebars' );

Hinweis: Dieser Code funktioniert auch bei Block-Themes mit der vollständigen Website-Bearbeitungsfunktion. Durch das Hinzufügen wird der Bildschirm „Widgets“ unter „Erscheinungsbild“ aktiviert.

Sie können nun die Seite Erscheinungsbild “ Widgets besuchen und Ihren neuen benutzerdefinierten Widget-Bereich sehen.

Custom widget area

Um diese Seitenleiste oder diesen Widget-Bereich auf Ihrer Website anzuzeigen, müssen Sie den folgenden Code in die Vorlage einfügen, in der Sie ihn anzeigen möchten:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

Weitere Einzelheiten finden Sie in unserer Anleitung zum Hinzufügen von dynamischen Widget-Bereichen und Seitenleisten in WordPress.

13. Manipulation der RSS-Feed-Fußzeile

Kennen Sie Blogs, die ihre Werbung in ihren RSS-Feeds unter jedem Beitrag einfügen? Sie können dies mit einer einfachen Funktion erreichen. Fügen Sie einfach den folgenden Code ein:

function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

Weitere Informationen finden Sie in unserem Leitfaden zum Hinzufügen von Inhalten und zur vollständigen Manipulation Ihrer RSS-Feeds.

14. Featured Images zu RSS-Feeds hinzufügen

Die Post-Thumbnails oder Featured Images werden normalerweise nur im Design Ihrer Website angezeigt. Mit dem folgenden Code können Sie diese Funktion einfach auf Ihren RSS-Feed ausweiten:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Weitere Einzelheiten finden Sie in unserer Anleitung zum Hinzufügen von Miniaturansichten zu Ihrem WordPress-RSS-Feed.

15. Login-Fehler in WordPress ausblenden

Hacker können Anmeldefehler nutzen, um zu erraten, ob sie einen falschen Benutzernamen oder ein falsches Passwort eingegeben haben. Indem Sie Anmeldefehler in WordPress ausblenden, können Sie Ihren Anmeldebereich und Ihre WordPress-Website sicherer machen.

Fügen Sie einfach den folgenden Code in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein:

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Jetzt wird den Benutzern eine allgemeine Meldung angezeigt, wenn sie einen falschen Benutzernamen oder ein falsches Kennwort eingeben.

Custom login errors

Weitere Informationen finden Sie in unserem Tutorial zur Deaktivierung von Login-Hinweisen in WordPress-Fehlermeldungen.

16. Anmeldung per E-Mail in WordPress deaktivieren

WordPress erlaubt es Benutzern, sich mit ihrem Benutzernamen oder ihrer E-Mail-Adresse anzumelden. Sie können die Anmeldung per E-Mail in WordPress ganz einfach deaktivieren, indem Sie diesen Code zu Ihrer Funktionsdatei oder als neues WPCode-Snippet hinzufügen:

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Weitere Informationen finden Sie in unserer Anleitung zum Deaktivieren der Funktion „Anmeldung per E-Mail“ in WordPress.

17. Deaktivieren der Funktion „Suchen“ in WordPress

Wenn Sie die Suchfunktion Ihrer WordPress-Website deaktivieren möchten, fügen Sie diesen Code einfach in Ihre Funktionsdatei oder in ein neues WPCode-Snippet ein:

function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}

Dieser Code deaktiviert einfach die Suchabfrage, indem er sie verändert und einen 404-Fehler anstelle von Suchergebnissen zurückgibt.

Weitere Informationen finden Sie in unserem Tutorial zur Deaktivierung der WordPress-Suchfunktion.

Pro-Tipp: Anstatt die WordPress-Suche aufzugeben, empfehlen wir, SearchWP auszuprobieren. Es ist das beste WordPress-Such-Plugin auf dem Markt, mit dem Sie eine leistungsstarke und anpassbare Suchfunktion zu Ihrer Website hinzufügen können.

18. Beiträge im RSS-Feed verzögern

Manchmal kann es vorkommen, dass Sie einen Artikel mit einem grammatikalischen Fehler oder einem Rechtschreibfehler veröffentlichen.

Der Fehler wird live geschaltet und an Ihre RSS-Feed-Abonnenten verteilt. Wenn Sie in Ihrem WordPress-Blog E-Mail-Abonnements haben, erhalten auch diese Abonnenten eine Benachrichtigung.

Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein, um Beiträge in Ihrem RSS-Feed zu verzögern:

function publish_later_on_feed($where) {

	global $wpdb;

	if ( is_feed() ) {
		// timestamp in WP-format
		$now = gmdate('Y-m-d H:i:s');

		// value for wait; + device
		$wait = '10'; // integer

		// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
		$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

		// add SQL-sytax to default $where
		$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

In diesem Code haben wir 10 Minuten als $wait oder Verzögerungszeit verwendet. Sie können diese Zeit in eine beliebige Anzahl von Minuten ändern.

Eine Plugin-Methode und weitere Informationen finden Sie in unserer ausführlichen Anleitung, wie Sie das Erscheinen von Beiträgen im WordPress-RSS-Feed verzögern können.

19. Weiterlesen Text für Auszüge in WordPress ändern

Möchten Sie den Text, der nach dem Auszug in Ihren Beiträgen erscheint, ändern? Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein:

function modify_read_more_link() {
    return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );

20. RSS-Feeds in WordPress deaktivieren

Nicht alle Websites benötigen RSS-Feeds. Wenn Sie RSS-Feeds auf Ihrer WordPress-Website deaktivieren möchten, fügen Sie diesen Code in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein:

function new_excerpt_more($more) {
 global $post;
 return '<a class="moretag" 
 href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Weitere Informationen zu einer Plugin-Methode finden Sie in unserer Anleitung zum Deaktivieren von RSS Feeds in WordPress.

21. Auszugslänge in WordPress ändern

WordPress begrenzt die Länge von Auszügen auf 55 Wörter. Sie können diesen Code zu Ihrer Funktionsdatei oder als neues WPCode-Snippet hinzufügen, wenn Sie dies ändern möchten:

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Ändern Sie einfach 100 in die Anzahl der Wörter, die Sie in den Auszügen anzeigen möchten.

Für alternative Methoden können Sie sich unseren Leitfaden zur Anpassung von WordPress-Auszügen ansehen (keine Codierung erforderlich).

22. Hinzufügen eines Admin-Benutzers in WordPress

Wenn Sie Ihr WordPress-Passwort und Ihre E-Mail-Adresse vergessen haben, können Sie einen Admin-Benutzer hinzufügen, indem Sie diesen Code mit einem FTP-Client in die Funktionsdatei Ihres Themes einfügen:

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Vergessen Sie nicht, die Felder für den Benutzernamen, das Passwort und die E-Mail-Adresse auszufüllen.

Wichtig! Vergessen Sie nicht, den Code aus Ihrer Funktionsdatei zu löschen, sobald Sie sich bei Ihrer WordPress-Website angemeldet haben.

Weitere Informationen zu diesem Thema finden Sie in unserem Tutorial zum Hinzufügen eines Admin-Benutzers in WordPress per FTP.

23. Sprachumschalter auf der Anmeldeseite deaktivieren

Wenn Sie eine mehrsprachige Website betreiben, zeigt WordPress auf der Anmeldeseite einen Sprachwähler an. Sie können dies ganz einfach deaktivieren, indem Sie den folgenden Code in Ihre functions.php-Datei oder als neues WPCode-Snippet einfügen:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. Anzeigen der Gesamtzahl der registrierten Benutzer in WordPress

Möchten Sie die Gesamtzahl der registrierten Benutzer auf Ihrer WordPress-Website anzeigen? Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein:

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Dieser Code erstellt einen Shortcode, mit dem Sie die Gesamtzahl der registrierten Benutzer auf Ihrer Website anzeigen können.

Jetzt müssen Sie nur noch den Shortcode [user_count] zu Ihrem Beitrag oder der Seite hinzufügen, auf der Sie die Gesamtzahl der Benutzer anzeigen möchten.

Weitere Informationen und eine Plugin-Methode finden Sie in unserem Tutorial, wie Sie die Gesamtzahl der registrierten Benutzer in WordPress anzeigen können.

25. Bestimmte Kategorien vom RSS-Feed ausschließen

Möchten Sie bestimmte Kategorien von Ihrem WordPress-RSS-Feed ausschließen? Sie können diesen Code in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet einfügen:

function exclude_category($query) {
	if ( $query->is_feed ) {
		$query->set('cat', '-5, -2, -3');
	}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

26. URL-Links in WordPress-Kommentaren deaktivieren

Standardmäßig wandelt WordPress eine URL in einen klickbaren Link in Kommentaren um.

Sie können dies verhindern, indem Sie den folgenden Code zu Ihrer Funktionsdatei oder als neuen WPCode-Snippet hinzufügen:

remove_filter( 'comment_text', 'make_clickable', 9 );

Weitere Informationen finden Sie in unserem Artikel über die Deaktivierung der automatischen Verlinkung in WordPress-Kommentaren.

27. Hinzufügen von ungeraden und geraden CSS-Klassen zu WordPress-Beiträgen

Sie haben vielleicht schon gesehen, dass WordPress-Themes eine ungerade oder gerade Klasse für WordPress-Kommentare verwenden. Dies hilft den Nutzern zu erkennen, wo ein Kommentar endet und der nächste beginnt.

Sie können die gleiche Technik für Ihre WordPress-Beiträge verwenden. Es sieht ästhetisch ansprechend aus und hilft den Nutzern, Seiten mit vielen Inhalten schnell zu durchsuchen.

Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes ein:

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Dieser Code fügt den WordPress-Beiträgen einfach eine gerade oder ungerade Klasse hinzu. Sie können nun benutzerdefinierte CSS hinzufügen, um sie anders zu gestalten.

Hier ist ein Beispielcode, der Ihnen den Einstieg erleichtern soll:

.even {
background:#f0f8ff;
}
.odd {
 background:#f4f4fb;
}

Das Endergebnis wird in etwa so aussehen:

Alternating background colors

Benötigen Sie eine ausführlichere Anleitung? Werfen Sie einen Blick auf unser Tutorial über das Hinzufügen von ungeraden/geraden Klassen zu Ihren Beiträgen in WordPress-Themes.

28. Hinzufügen zusätzlicher Dateitypen, die in WordPress hochgeladen werden können

Standardmäßig erlaubt WordPress das Hochladen einer begrenzten Anzahl der gebräuchlichsten Dateitypen. Sie können sie jedoch erweitern, um andere Dateitypen zuzulassen.

Fügen Sie einfach diesen Code in die Funktionsdatei Ihres Themes ein:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Mit diesem Code können Sie SVG- und PSD-Dateien in WordPress hochladen.

Sie müssen die Mime-Typen für die Dateitypen finden, die Sie zulassen wollen, und sie dann im Code verwenden.

Weitere Informationen zu diesem Thema finden Sie in unserem Tutorial über das Hinzufügen zusätzlicher Dateitypen zum Hochladen in WordPress.

WordPress verwendet standardmäßig eine nicht existierende E-Mail-Adresse (wordpress@yourdomain.com), um ausgehende E-Mails zu versenden.

Diese E-Mail-Adresse könnte von E-Mail-Anbietern als Spam eingestuft werden.

Die Verwendung des WP Mail SMTP-Plugins ist der richtige Weg, um dies zu beheben.

WP Mail SMTP

Es behebt E-Mail-Zustellbarkeitsprobleme und ermöglicht es Ihnen, eine tatsächliche E-Mail-Adresse für den Versand Ihrer WordPress-E-Mails zu wählen.

Weitere Informationen finden Sie in unserer Anleitung zur Behebung des Problems, dass WordPress keine E-Mails sendet.

Wenn Sie diese Adresse jedoch schnell in eine echte E-Mail-Adresse ändern möchten, können Sie den folgenden Code in Ihre Funktionsdatei oder als neuen WPCode-Snippet einfügen:

// Function to change email address
function wpb_sender_email( $original_email_address ) {
    return 'tim.smith@example.com';
}
 
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
    return 'Tim Smith';
}
 
// Hooking up our functions to WordPress filters 
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );

Vergessen Sie nicht, die E-Mail-Adresse und den Namen durch Ihre eigenen Angaben zu ersetzen.

Das Problem bei dieser Methode ist, dass WordPress immer noch die mail()-Funktion zum Senden von E-Mails verwendet, und solche E-Mails landen höchstwahrscheinlich im Spam.

Bessere Alternativen finden Sie in unserer Anleitung zum Ändern des Absendernamens in ausgehenden WordPress-E-Mails.

30. Hinzufügen einer Autoren-Infobox in WordPress-Beiträgen

Wenn Sie eine Website mit mehreren Autoren betreiben und die Biografien der Autoren am Ende Ihrer Beiträge anzeigen möchten, können Sie diese Methode ausprobieren.

Fügen Sie diesen Code zunächst in Ihre Funktionsdatei oder als neues WPCode-Snippet ein:

function wpb_author_info_box( $content ) {

global $post;

// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {

// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );

// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );

// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );

// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);

// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
	
// Get User Gravatar
$user_gravatar =  get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );

if ( ! empty( $display_name ) )

$author_details = '<p class="author_name">About ' . $display_name . '</p>';

if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description. 

$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';

$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';  

// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {

// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';

} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}

// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}

// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );

// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');

Als Nächstes müssen Sie einige benutzerdefinierte CSS hinzufügen, damit es besser aussieht.

Sie können dieses CSS-Beispiel als Ausgangspunkt verwenden:

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}

.author_name{
font-size:16px;
font-weight: bold;
}

.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

So wird Ihre Autorenbox aussehen:

Author bio box

Eine Plugin-Methode und detailliertere Anweisungen finden Sie in unserem Artikel über das Hinzufügen eines Autoreninformationsfelds in WordPress-Beiträgen.

31. XML-RPC in WordPress deaktivieren

XML-RPC ist eine Methode, die es Anwendungen von Drittanbietern ermöglicht, aus der Ferne mit Ihrer WordPress-Website zu kommunizieren. Dies kann zu Sicherheitsproblemen führen und von Hackern ausgenutzt werden.

Um XML-RPC in WordPress zu deaktivieren, fügen Sie den folgenden Code in Ihre Funktionsdatei oder als neues WPCode-Snippet ein:

add_filter('xmlrpc_enabled', '__return_false');

Weitere Informationen finden Sie in unserem Artikel über die Deaktivierung von XML-RPC in WordPress.

32. Automatisches Verknüpfen von Featured Images mit Beiträgen

Wenn Ihr WordPress-Theme nicht automatisch Bilder mit vollständigen Artikeln verknüpft, können Sie diese Methode ausprobieren.

Fügen Sie diesen Code einfach in die Funktionsdatei Ihres Themes oder als neues WPCode-Snippet ein:

function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {

If (! is_singular()) { 

$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;

} else { 

return $html;

}

}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

Lesen Sie auch unseren Artikel über die automatische Verknüpfung von Bildern mit Beiträgen in WordPress.

33. Block-Editor in WordPress deaktivieren

WordPress verwendet einen modernen und intuitiven Editor für das Schreiben von Inhalten und die Bearbeitung Ihrer Website. Dieser Editor verwendet Blöcke für häufig verwendete Inhalte und Layout-Elemente, weshalb er auch Block-Editor genannt wird.

In einigen Fällen kann es jedoch erforderlich sein, den älteren Classic Editor zu verwenden.

Der einfachste Weg, den Block-Editor zu deaktivieren, ist die Verwendung des Classic Editor-Plugins. Wenn Sie jedoch kein separates Plugin verwenden möchten, dann fügen Sie einfach den folgenden Code in Ihre Funktionsdatei oder als neuen WPCode-Snippet ein:

add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);

Weitere Einzelheiten finden Sie in unserer Anleitung zur Deaktivierung des Blockeditors und zur Verwendung des klassischen Editors.

34. Block-Widgets in WordPress deaktivieren

WordPress hat in WordPress 5.8 von klassischen Widgets auf Block-Widgets umgestellt. Die neuen Block-Widgets sind einfacher zu verwenden und geben Ihnen mehr Gestaltungsmöglichkeiten als klassische Widgets.

Einige Benutzer möchten jedoch möglicherweise weiterhin klassische Widgets verwenden. In diesem Fall können Sie den folgenden Code in der Funktionsdatei Ihres Themes oder als neues WPCode-Snippet verwenden:

add_filter( 'use_widgets_block_editor', '__return_false' );

Weitere Einzelheiten finden Sie in unserem Artikel über die Deaktivierung von Widgetblöcken (Wiederherstellung klassischer Widgets).

35. Anzeige des Datums der letzten Aktualisierung in WordPress

Wenn Besucher einen Beitrag oder eine Seite in Ihrem WordPress-Blog aufrufen, zeigt Ihr WordPress-Theme das Datum an, an dem der Beitrag veröffentlicht wurde. Das ist für die meisten Blogs und statischen Websites in Ordnung.

WordPress wird jedoch auch von Websites verwendet, auf denen alte Artikel regelmäßig aktualisiert werden. Bei diesen Veröffentlichungen ist die Anzeige des Datums und der Uhrzeit der letzten Änderung des Beitrags unerlässlich.

Last updated date

Sie können das Datum der letzten Aktualisierung mit folgendem Code in der Funktionsdatei Ihres Themes oder als neues WPCode-Snippet anzeigen:

$u_time          = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {

	$updated_date = get_the_modified_time( 'F jS, Y' );
	$updated_time = get_the_modified_time( 'h:i a' );

	$updated = '<p class="last-updated">';

	$updated .= sprintf(
	// Translators: Placeholders get replaced with the date and time when the post was modified.
		esc_html__( 'Last updated on %1$s at %2$s' ),
		$updated_date,
		$updated_time
	);
	$updated .= '</p>';

	echo wp_kses_post( $updated );
}

Alternative Methoden und weitere Details finden Sie in unserer Anleitung zur Anzeige des Datums der letzten Aktualisierung in WordPress.

36. Dateinamen für Uploads in Kleinbuchstaben verwenden

Wenn Sie eine Website mit mehreren Autoren betreiben, können die Autoren Bilder mit Dateinamen in Groß- und Kleinschreibung hochladen.

Durch Hinzufügen des folgenden Codes wird sichergestellt, dass alle Dateinamen in Kleinbuchstaben geschrieben werden:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Hinweis: Der Code ändert keine Dateinamen für bestehende Uploads. Für alternative Methoden siehe unser Tutorial zum Umbenennen von Bildern und Mediendateien in WordPress.

37. Deaktivieren der WordPress-Adminleiste im Frontend

Standardmäßig zeigt WordPress die Verwaltungsleiste oben an, wenn ein eingeloggter Benutzer Ihre Website aufruft.

Sie können die Admin-Leiste für alle Benutzer außer Website-Administratoren deaktivieren. Fügen Sie einfach den folgenden Code in Ihre Funktionsdatei oder als neues WPCode-Snippet ein:

/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );

Weitere Einzelheiten finden Sie in unserer Anleitung zum Deaktivieren der WordPress-Adminleiste für alle Benutzer außer Administratoren.

38. Howdy Admin Text im Adminbereich ändern

WordPress zeigt im WordPress-Dashboard die Begrüßung „Howdy Admin“ an. Dabei wird „Admin“ durch den Namen des angemeldeten Benutzers ersetzt.

Howdy greeting

Sie können die Standardansage in Ihre eigene ändern, indem Sie den folgenden Code in Ihre Funktionsdatei oder als neues WPCode-Snippet einfügen:

function wpcode_snippet_replace_howdy( $wp_admin_bar ) {

	// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
	$new_howdy = 'Welcome,';

	$my_account = $wp_admin_bar->get_node( 'my-account' );
	$wp_admin_bar->add_node(
		array(
			'id'    => 'my-account',
			'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
		)
	);
}

add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );

Weitere Einzelheiten finden Sie in unserem Artikel über das Ändern der „Howdy Admin“-Nachricht in WordPress.

39. Code-Bearbeitung im Block-Editor deaktivieren

Der Block-Editor ermöglicht es Ihnen, zum Code-Editor zu wechseln. Dies ist praktisch, wenn Sie manuell HTML-Code hinzufügen müssen.

Vielleicht möchten Sie diese Funktion jedoch auf die Website-Administratoren beschränken.

Sie können den folgenden Code in Ihre Funktionsdatei oder als WPCode-Snippet einfügen, um dies zu erreichen:

add_filter( 'block_editor_settings_all', function ( $settings ) {
	
	$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );

	return $settings;
} );

40. Plugin/Theme-Dateieditor deaktivieren

WordPress verfügt über einen integrierten Editor, mit dem Sie Plugin-Dateien bearbeiten können. Sie können ihn auf der Seite Plugins “ Plugin File Editor sehen.

Plugin file editor in WordPress

In ähnlicher Weise enthält WordPress auch einen Datei-Editor für klassische Themes unter Erscheinungsbild “ Theme-Datei-Editor.

Hinweis: Wenn Sie ein Blockthema verwenden, ist der Editor für Themendateien nicht sichtbar.

Theme file editor

Wir raten davon ab, diese Editoren zu verwenden, um Änderungen an Ihrem Thema oder Plugin vorzunehmen. Ein winziger Fehler im Code kann dazu führen, dass Ihre Website für alle Benutzer unzugänglich ist.

Um den Plugin/Theme-Editor zu deaktivieren, fügen Sie den folgenden Code in Ihre Funktionsdatei oder als WPCode-Snippet ein:

// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
	define( 'DISALLOW_FILE_EDIT', true );
}

Weitere Einzelheiten finden Sie in unserer Anleitung zum Deaktivieren des Plugin/Theme-Editors in WordPress.

41. E-Mail-Benachrichtigungen für neue Benutzer deaktivieren

Standardmäßig sendet WordPress eine E-Mail-Benachrichtigung, wenn ein neuer Benutzer Ihrer WordPress-Website beitritt.

Wenn Sie eine WordPress-Mitgliedswebsite betreiben oder von den Nutzern verlangen, sich anzumelden, dann erhalten Sie jedes Mal eine Benachrichtigung, wenn ein Nutzer Ihrer Website beitritt.

Um diese Benachrichtigungen zu deaktivieren, können Sie Folgendes in Ihre Funktionsdatei oder als neues WPCode-Snippet hinzufügen:

function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
	if ( empty( $notify ) || 'admin' === $notify ) {
		return;
	} elseif ( 'both' === $notify ) {
		// Send new users the email but not the admin.
		$notify = 'user';
	}
	wp_send_new_user_notifications( $user_id, $notify );
}

add_action(
	'init',
	function () {
		// Disable default email notifications.
		remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
		remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );

		// Replace with custom function that only sends to user.
		add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
		add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
	}
);

Weitere Details finden Sie in unserer Anleitung zum Deaktivieren von E-Mail-Benachrichtigungen für neue Benutzer in WordPress.

42. Automatische Update-E-Mail-Benachrichtigungen deaktivieren

Gelegentlich kann WordPress automatisch Sicherheits- und Wartungsupdates installieren oder ein Plugin mit einer kritischen Sicherheitslücke aktualisieren.

Es sendet nach jeder Aktualisierung eine automatische E-Mail-Benachrichtigung. Wenn Sie mehrere WordPress-Websites verwalten, können Sie mehrere solcher E-Mails erhalten.

Sie können diesen Code in Ihre Funktionsdatei oder als neues WPCode-Snippet einfügen, um diese E-Mail-Benachrichtigungen zu deaktivieren:

/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );

// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );

// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );

Weitere Informationen finden Sie in unserem Artikel über die Deaktivierung automatischer Update-E-Mails in WordPress.

43. Einen Link hinzufügen, um einen Beitrag einfach zu duplizieren

Haben Sie sich schon einmal eine einfachere Möglichkeit gewünscht, den gesamten Inhalt eines Beitrags schnell zu kopieren und zu bearbeiten, ohne den veröffentlichten Beitrag zu verändern?

Das folgende Codeschnipsel fügt eine Option hinzu, mit der ein Beitrag mit seinem gesamten Inhalt einfach dupliziert werden kann:

// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );

// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
	/**
	 * @param array   $actions The actions added as links to the admin.
	 * @param WP_Post $post The post object.
	 *
	 * @return array
	 */
	function wpcode_snippet_duplicate_post_link( $actions, $post ) {

		// Don't add action if the current user can't create posts of this post type.
		$post_type_object = get_post_type_object( $post->post_type );

		if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
			return $actions;
		}


		$url = wp_nonce_url(
			add_query_arg(
				array(
					'action'  => 'wpcode_snippet_duplicate_post',
					'post_id' => $post->ID,
				),
				'admin.php'
			),
			'wpcode_duplicate_post_' . $post->ID,
			'wpcode_duplicate_nonce'
		);

		$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';

		return $actions;
	}
}

/**
 * Handle the custom action when clicking the button we added above.
 */
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {

	if ( empty( $_GET['post_id'] ) ) {
		wp_die( 'No post id set for the duplicate action.' );
	}

	$post_id = absint( $_GET['post_id'] );

	// Check the nonce specific to the post we are duplicating.
	if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
		// Display a message if the nonce is invalid, may it expired.
		wp_die( 'The link you followed has expired, please try again.' );
	}

	// Load the post we want to duplicate.
	$post = get_post( $post_id );

	// Create a new post data array from the post loaded.
	if ( $post ) {
		$current_user = wp_get_current_user();
		$new_post     = array(
			'comment_status' => $post->comment_status,
			'menu_order'     => $post->menu_order,
			'ping_status'    => $post->ping_status,
			'post_author'    => $current_user->ID,
			'post_content'   => $post->post_content,
			'post_excerpt'   => $post->post_excerpt,
			'post_name'      => $post->post_name,
			'post_parent'    => $post->post_parent,
			'post_password'  => $post->post_password,
			'post_status'    => 'draft',
			'post_title'     => $post->post_title . ' (copy)',// Add "(copy)" to the title.
			'post_type'      => $post->post_type,
			'to_ping'        => $post->to_ping,
		);
		// Create the new post
		$duplicate_id = wp_insert_post( $new_post );
		// Copy the taxonomy terms.
		$taxonomies = get_object_taxonomies( get_post_type( $post ) );
		if ( $taxonomies ) {
			foreach ( $taxonomies as $taxonomy ) {
				$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
				wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
			}
		}
		// Copy all the custom fields.
		$post_meta = get_post_meta( $post_id );
		if ( $post_meta ) {

			foreach ( $post_meta as $meta_key => $meta_values ) {
				if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
					continue;
				}
				foreach ( $meta_values as $meta_value ) {
					add_post_meta( $duplicate_id, $meta_key, $meta_value );
				}
			}
		}

		// Redirect to edit the new post.
		wp_safe_redirect(
			add_query_arg(
				array(
					'action' => 'edit',
					'post'   => $duplicate_id
				),
				admin_url( 'post.php' )
			)
		);
		exit;
	} else {
		wp_die( 'Error loading post for duplication, please try again.' );
	}
} );

Nachdem Sie den Code hinzugefügt haben, gehen Sie auf den Bildschirm Beiträge “ Alle Beiträge und fahren Sie mit der Maus über einen Beitragstitel.

Unter den Optionen finden Sie einen neuen Link „Duplizieren“.

Duplicate post link

Wenn Sie auf den Link klicken, wird eine Kopie des Beitrags mit seinem gesamten Inhalt erstellt. Sie können dann an diesem Entwurf arbeiten.

Wenn Sie fertig sind, können Sie Ihre Änderungen kopieren und in den ursprünglich veröffentlichten Beitrag einfügen und die Kopie löschen.

Eine Plugin-Methode finden Sie in unserem Artikel über das Duplizieren eines WordPress-Beitrags oder einer Seite.

44. Welcome Panel aus dem WordPress Admin Dashboard entfernen

Das Willkommenspanel erscheint im WordPress-Verwaltungsdashboard. Es lässt sich leicht ausblenden, indem Sie auf die Schaltfläche „Bildschirmoptionen“ klicken.

Welcome panel

Wenn Sie jedoch daran arbeiten, das Dashboard für die Benutzer übersichtlicher zu gestalten, sollten Sie es dauerhaft ausblenden.

Fügen Sie den folgenden Code ein, um ihn für alle Benutzer Ihrer Website zu deaktivieren:

add_action(
	'admin_init',
	function () {
		remove_action( 'welcome_panel', 'wp_welcome_panel' );
	}
);

45. Hinzufügen einer Featured Image-Spalte für Posts im WordPress-Admin

Standardmäßig zeigt WordPress nur Bilder an, wenn Sie Ihre Website ansehen oder wenn Sie einen Beitrag oder eine Seite bearbeiten.

Der folgende Code fügt dem Bildschirm „Beiträge “ Alle Beiträge “ eine neue Spalte für besondere Bilder hinzu:

add_filter( 'manage_posts_columns', function ( $columns ) {
	// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
	$move_after     = 'title';
	$move_after_key = array_search( $move_after, array_keys( $columns ), true );

	$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
	$last_columns  = array_slice( $columns, $move_after_key + 1 );

	return array_merge(
		$first_columns,
		array(
			'featured_image' => __( 'Featured Image' ),
		),
		$last_columns
	);
} );

add_action( 'manage_posts_custom_column', function ( $column ) {
	if ( 'featured_image' === $column ) {
		the_post_thumbnail( array( 300, 80 ) );
	}
} );

So würde es nach dem Hinzufügen des Codes aussehen.

Featured image column

46. WordPress-Administrationsbereich für alle außer Administratoren sperren

Für einige WordPress-Websites müssen die Benutzer ein Konto registrieren. Zum Beispiel eine WordPress-Mitgliedswebsite oder ein eCommerce-Shop.

Die meisten dieser Plugins verhindern, dass diese Benutzer auf den Verwaltungsbereich zugreifen können. Wenn Sie jedoch kein solches Plugin verwenden, können Sie den folgenden Code hinzufügen, um allen Benutzern außer Administratoren den Zugriff auf den Verwaltungsbereich zu verwehren:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'administrator' ) ) {
       wp_redirect( home_url() );
       exit;
	}
} );

Benutzer mit anderen Benutzerrollen können sich weiterhin in ihre Konten einloggen, werden aber nach dem Einloggen auf die Homepage weitergeleitet.

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, einige neue nützliche Tricks für die Datei functions.php in WordPress zu lernen. Vielleicht interessieren Sie sich auch für unseren Leitfaden zur Anzeige von Code in WordPress, um Ihre Snippets einfach zu teilen, und unsere Expertenauswahl der besten Code Editoren für Mac und Windows.

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

114 KommentareEine Antwort hinterlassen

  1. Moinuddin Waheed

    So much to accomplish with the help of functions.php
    I think this is the core of the WordPress and if we do too much to it, we may lose many core functionalities.
    having said this, using wpcode is a wise idea to insert anything for functionality without compromising the WordPress core.
    I have a question though, if wpcode doesn’t insert it’s code in the main functions.php then how it works?
    and if inserts it into the same, how updating wordpress doesn’t erase it?

    • WPBeginner Support

      The code is stored in your database and the plugin hooks in the code in different ways depending on how you set it in the plugin.

      Admin

  2. Jiří Vaněk

    I’ve noticed that on some websites, the top part of the browser changes color, specifically on mobile Chrome. Do you have any tested snippet that accomplishes this?

  3. Ralph

    A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will :)

    • WPBeginner Support

      Glad to hear you found our tricks helpful :)

      Admin

  4. Ben

    This is a pretty dangerous idea. Query strings exist for the purposes of cache busting, aka, making sure the end user has the latest version your js and css files.

    Removing those is going to cause all sorts of issues for returning users down the line as their browser will assume nothing has changed and use their cached version rather than downloading the new one.

    If for some reason you need to target a specific file and remove the query string (which I’ve had to do) you can use this code snippet:

    // remove version from scripts and styles
    function remove_version_scripts_styles($src) {
    if (strpos($src, ‚yourfile.js‘)) {
    $src = remove_query_arg(‚ver‘, $src);
    }
    return $src;
    }
    add_filter(’script_loader_src‘, ‚remove_version_scripts_styles‘, 9999);

  5. Gean Paulo Francois

    Very useful article. I just saved this page offline so I can insert some of these with my websites. Anyway, should I add the codes to functions,php and not anywhere else?

    • WPBeginner Support

      Correct, these codes are for your functions.php file.

      Admin

  6. Hussain Badusha

    Nice compendium of some useful tricks and functions for wordpress. I added quite a new things to my wordpress knowledge after going through here.

    I look forward even more from you if you wish to

    • WPBeginner Support

      Glad you found our guide helpful :)

      Admin

  7. Satinder Satsangi

    Oh WoW,

    This is lifesaver most of the times, would like to know more about useful functions.

    • WPBeginner Support

      Glad you found our guide helpful :)

      Admin

  8. vivek

    Nice article,

    Just have a doubt if I am supposed to add these codes in snippets plugin or somwhere in file? if its snippet plugin, it’s not working. Kindly put some light.
    Thanks

    • WPBeginner Support

      You would add these codes as a custom plugin or more commonly in your functions.php file

      Admin

  9. Beulah Wellington

    Thank you for this tutorial. I learned a lot. I will be reading it again.

    • WPBeginner Support

      You’re welcome, glad our guide can continue to help you :)

      Admin

  10. Ali Jahani

    Hi
    Thanks a lot of….

    wpbeginner Is god team

    • WPBeginner Support

      You’re welcome, glad you like our content :)

      Admin

  11. VISHAL CHOWDHRY

    Superb Article.
    Waiting for more of this :)

    • WPBeginner Support

      Thank you, glad you liked our content :)

      Admin

  12. Miley Cyrus

    Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.

    • WPBeginner Support

      Glad our article could be helpful :)

      Admin

  13. John Dee

    Almost NONE of these code snippets belong in your theme’s functions.php file. Only a few of them are related to the actual theme. Themes are for APPEARANCE. Create a PLUGIN for functionality. In any case, it would go in child theme’s functions.php file.

    • WPBeginner Support

      Thank you for pointing this out, while we do mention site-specific plugins at the beginning of this article, we will be sure to look into making that statement clearer.

      Admin

  14. Suman Samanta

    Nice information for a new bloggers. It is really helpful.

  15. Richard Yzenbrandt

    Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!

  16. alok patel

    hey i am unable to add my post on specific page. when i write any blog post it shows in home page but i wanna also see in specific pages where i want to add. how i can out of from this problem. plz help me as soon as possible. if any video link thn plz share with reply. i m getting too much confused.

  17. DONALD

    I am creating a form to collect data from my users.
    I have created the database from myphpAdmin
    I have created the form.
    I now created a new php.file in my child theme
    I referenced it in the form too using action = „name.php“
    Now i expect it to gather, peoples registration details.
    But clicking on submit on the form, says, page cannot be found.
    I dont know what i am not getting right.
    Please help me

  18. marvin N N

    is there a plugin one can use to customise a theme’s default menu setting to suit your taste???

  19. Sazzad Hossain

    Thanks for this codes.

  20. Shafiq Khan

    Very useful post thanks.

    A question – Because you’re updating the functions.php of a theme.
    If you update the theme then you lose your tweaks.

    Is there a way around this? Is it just a cause of using a Child theme?

    Thanks

    • Lisa

      Hi Shafiq,

      Any changes you make to a parent theme will be overwritten when you update it. It is good practice to work with a child theme when making changes to a theme you didn’t build that is going to be updated so that you can keep the changes you made.

    • Jan

      I use the plugin ‚My Custom Functions‘ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed :)

    • Jane Lawson

      This is late, but you can also create a plugin for your site (e.g. „[Site name]’s custom plugin“). It does require a bit of expertise, however, since some functions clash with other plugins/the site theme.

  21. Neil

    Excellent post – thank you for the tips & tricks. They are all very helpful :)

  22. Karakaplan

    How to use these above with child theme functions file?

    • Minhaz

      Nothing difference with parent or child theme’s functions.php

  23. Joe

    I’ve not done much with the functions file so it was good to see this article.

    Thanks.

  24. Jorge Rosa

    Great snippets. Very handy and useful. Thank You!

  25. sriganesh

    this is best site for wordpress

  26. Bilal

    will you tell me a most easy book for wordpress.
    i am very new in this field .
    thanks in advance

  27. Al1

    Another one :

    // Remove query string from static files :
    function remove_cssjs_ver( $src ) {
    if( strpos( $src, ‚?ver=‘ ) )
    $src = remove_query_arg( ‚ver‘, $src );
    return $src;
    }
    add_filter( ’style_loader_src‘, ‚remove_cssjs_ver‘, 10, 2 );
    add_filter( ’script_loader_src‘, ‚remove_cssjs_ver‘, 10, 2 );

  28. siva

    Great post, Could provide all wordpress function with example

  29. shojib

    This is the best blog for Wordpress users.

  30. Parveen

    Great post!!!
    I am a newbie and looking for such tricks.
    Thanks.

  31. Deepak Kanyan

    Really a nice blog. i had learn lot of things from here thanks admin.

  32. Andrew

    I tried #16 to add the post featured thumbnail to m RSS feed but when I tested it in mailchimp (paused my campaign and previewed) it appears that it has changed from „summary“ to „full text“? Is this expected behaviour? I want to leave the emails (rss driven) as summary, and simply add the thumbnail featured image at the top.

    Thanks for any help, I can’t find this on google anywhere.

  33. Em Cloney

    re: removing rss feed for static pages — is it correct that the txt one would replace in that code is ‚url‘ (with a page link, including ) and ‚homepage‘ (if you’d like it to say something else, like ’some other site‘)?

  34. Mohan Manohar

    This is huge list and great help. would like to know the first part of twitter counter code is to be pasted in function.php or directly into texty widget of theme.

  35. grafx

    There is an easier way to remove WordPress Version Number…

    remove_action(‚wp_head‘, ‚wp_generator‘);

  36. DANISH

    such a great and useful tricks.. :)

  37. Webtechideas

    Such a nice list of useful tricks. It will help both plugin and theme developers.

  38. ahmed

    In #14, isn’t that a instead of ?

  39. Mick O

    Thanks for the helpful article. I really appreciate it. Can you possibly explain why the snippet to add Google analytics (#1) code includes the php declarations. If I have an existing functions.php file that is already defined with , do I need to include the markers again in the snippet? I’m trying to add other customizations into the functions.php and it’s getting hard to keep track.

    • Editorial Staff

      It includes opening php because it is closing PHP tag to allow you to paste plain HTML Google analytics code.

      Admin

  40. Luke Gibson

    The one about the copyright date seems a little OTT when you could simply cut and paste in © 2006- and it would do exactly the same job, just replace 2006 with whatever static start date you wish. Or am I missing something?

    • Editorial Staff

      Yes, you can definitely do that. But if you are releasing this as part of a theme meant for distribution, then you can’t do that.

      Admin

  41. Zeeshan Arshad

    Excellent, I was done with my theme and learning but there was much left. This post saved my day and of course I learnt many things as well.

    Best Wishes!

  42. DesignSkew

    In „Add Author Profile Fields“, the function you mentioned to echo is not working.

  43. Mark

    Great set of tools. I immediately copied the guest author function as I saw it and will now disable a clumsy plugin I’ve been using. Do you have a function that will provide the post ID of the item being worked with in the editor? I’m trying to auto fill a form with media attachments for the current post but have only been able to get it to work in a custom meta-box but not in a thickbox . The thickbox returns all the media files for all the posts when I just want the current posts’s attachments.

  44. mommyblogger

    Thanks for the great Wordpress tips! I was hoping you could help me with an additional one?

    I’d like to prevent my tags/categories from spilling over onto another line by limiting the number of tags/categories that appear in the footer of my individual homepage posts. Is it possible to do this with the „the_excerpt“? I would also like the excerpt to be a „…read more“ link and limit the number of characters in it. Here is the code it would need to be added to;

    $tags_list = get_the_tag_list( “, __( ‚, ‚, ‚mummyblog‘ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‚<span class=“%1$s“>Tagged</span> %2$s‘, ‚mummyblog‘ ), ‚entry-utility-prep entry-utility-prep-tag-links‘, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>

    Thanks!

  45. SteveEBoy

    Like all the others have said below – just too good, a massive help for a newbie and very useful for learning too. Great site all round. Thanks.

  46. LambrosPower

    one of the best tutorials i read. Many important topics pointed out and for sure i didn’t know most of them since i just started wordpress custom design.

  47. Xiaozhuli

    This article is endlessly useful. I bookmarked it and often refer to it when updating my theme or trying to answer a question. Great job!

  48. Mohammad Yeasin

    You guys are just awesome. You know what, wpbegineer is the first website for which i have a separate folder in my bookmark menu. Too good for a wp begineer. youe name suits ur personality. lolz. One day i would must do something special for you. Inshallah.
    The only problem i face is related post with thumbnail. your coder are not working. vDont know what to do. Whatever, Keep up the marvelous job. Love the site wpbegineer.

  49. AA

    Great post! You obviously know a lot about wordpress coding so I’m hoping you can answer a question. How to you remove the date & time stamp from a wordpress feed-rss? I’ve looked everywhere and can’t find any information on this. I’m working on a wordpress „site“ and do not have a use for the dates. I have already removed them from the posts & pages.

    Much thanks in advance!

    • Editorial Staff

      Date is NOT optional for RSS feeds. It is a MUST because that is how posts / articles are organized (reverse chronological order). You can remove the display of dates from the template, but you cannot remove them from the XML.

      Admin

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.