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

Hinweis der Redaktion: Wir erhalten eine Provision für Partnerlinks auf WPBeginner. Die Provisionen haben keinen Einfluss auf die Meinung oder Bewertung unserer Redakteure. Erfahre mehr über Redaktioneller Prozess.

Sie fragen sich, was Sie mit der WordPress-Funktionsdatei machen können?

Alle WordPress-Themes werden mit einer functions.php-Datei geliefert. Diese Datei fungiert als Plugin, mit dem Theme-Entwickler und allgemeine Benutzer benutzerdefinierten Code in WordPress leicht hinzufügen können.

In diesem Artikel werden wir Ihnen einige nützliche Tricks für die WordPress-Funktionsdatei zeigen.

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.

Die Speicherung von benutzerdefiniertem Code in der functions-Datei Ihres Themes ist jedoch nicht der beste Weg, um Ihre Anpassungen zu speichern. Wenn Sie Ihr Theme aktualisieren, wird die Datei functions.php überschrieben und Sie verlieren Ihre benutzerdefinierten Codeschnipsel.

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.

Das Beste daran ist, dass der gesamte benutzerdefinierte Code separat gespeichert wird, sodass er bei WordPress-Updates nicht entfernt wird.

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? Ein benutzerdefiniertes Dashboard-Logo ist der erste Schritt in diesem Prozess.

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 Sie die Fußzeile im WordPress-Administrationsbereich

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. Suchfunktion in WordPress deaktivieren

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

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

Eine Plugin-Methode und weitere Informationen 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 Nutzer 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 Inhalts- und Layoutelemente, 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 unsere ultimative Anleitung zur Steigerung der Geschwindigkeit und Leistung von WordPress und unsere Expertenauswahl der besten Code-Editoren für Mac und Windows.

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 .

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

115 KommentareEine Antwort hinterlassen

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mick O says

    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.

  3. Luke Gibson says

    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?

  4. Zeeshan Arshad says

    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!

  5. Mark says

    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.

  6. mommyblogger says

    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!

  7. SteveEBoy says

    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.

  8. LambrosPower says

    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.

  9. Xiaozhuli says

    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!

  10. Mohammad Yeasin says

    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.

  11. AA says

    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 says

      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

  12. Connor Crosby says

    Just a note, be careful when you copy and paste the „end of excerpt“ function. It showed a question mark instead of „…“ since it was one character. I had to rewrite „…“ for it show up.

  13. mark. says

    I would suggest an addendum be made to Tip #3 mentioning the fact that this is not security in any way shape or form, and is definitely not an alternative to upgrading as people should.

    Hiding the version number is only beneficial to those of us who like to keep unnecessary junk out of the HEAD of your HTML document. Outside of that, it serves no purpose and should not be confused with security; to help illustrate that point: http://dd32.id.au/2010/07/31/what-version-of-wordpress-is-behind-that-website/

  14. helpin says

    Could you tell me if I need to add these codes for every theme which my multi site have? Is there any there way which these codes automatically apply to the newly added themes?

    Thanks !

    • Editorial Staff says

      You would have to add these to your theme’s functions.php file. So if it is a theme that is available on all networks, then only once. If there are custom themes being used on each network site, then you would have to do it on each….

      Admin

  15. Adam says

    Okay, the dynamic copyright date in the footer is one of the coolest tricks for WordPress I’ve come across. Always hate having to do that each year, but not anymore. Thanks for sharing that one!

  16. Susan says

    Hi, I am trying to change the default gravatar. The option to choose my new gravatar is showing up however instead of my pic for my gravatar it is showing a broken pic link. I know the path works cause it does when I plug it in to the browser the pic comes up. I have also tried .gif, .png, .jpg and they are all broken. Also it is sized per my theme at 48px X 48px Can you help?

  17. Dave Z says

    There are some good suggestions here. Implementation could be improved for a few of them.

    For instance, in #8 – Dynamic Copyright, it would probably be better to call the function during the publish_page and publish_post actions. Then, instead of printing the year to the screen, the value (year range) could be stored in the options table (with update_option()). In the theme, you would do something like: echo get_option( ‚comicpress_copyright‘, date( ‚Y‘ ) );. This would give the current year as the default date, or your preset range. The advantage here is that you eliminate the constant need to query the database for the years during every page load (since get_option can be configured to load automatically with the rest of the options). WordPress can already be heavy on database queries, no need to add an additional one if it can be avoided!

    #18 – Remove Login Errors is removing -all- login errors, which could be bad because it also omits notices about disabled cookies, etc. A more effective approach would be to have the function return:

    str_replace( array( ‚Invalid username‘, ‚Incorrect password‘ ), ‚Invalid username or password‘, $str );

    This keeps the user informed of potential errors while obfuscating which field the error actually occurred in. One thing to keep in mind is that if the username is correct, WordPress will auto-populate that field in subsequent login attempts. A hacker aware of WordPress operation would then know that the username was indeed valid. You can prevent this by commenting out the appropriate section in the wp-login.php file (lines 529-530 in version 2.9.2)–not ideal, I know, but there are no hooks at that point in the code.

    Nice tips. I like the Post Thumbnails demonstration.

  18. Todd Santoro says

    here is one for changing the login logo:

    function the_custom_login_logo() {
    echo ‚
    h1 a { background-image:url(‚.get_bloginfo(‚template_directory‘).’/images/custom-login-logo.gif) !important; }
    ‚;
    }

    add_action(‚login_head‘, ‚the_custom_login_logo‘);

    • Todd Santoro says

      Make sure you change the single quotes in this code to actuall single quotes as WP strips them in the comments so the PHP code is not executed. Better yet retype it and you will have no problem.

      Cheers!

  19. Raoni says

    Hi,

    just an update, in item 4. Add a Custom Dashboard Logo, in WordPress 3 the „custom-logo.gif“ now is a .png image.

    Great collection!!!!

  20. Jake Goldman says

    Great tips. Got a kick out of seeing a few of mine in there. :-) lots of new tips coming soon in my next article!

  21. DaveK says

    Brilliance, I will be putting quite a few of these to good use.

    Congrats on the site guys you go from strength to strength, I usually manage to find something useful here.

    Keep up the good work.

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.