WordPress: 20 Code-Schnipsel fΓΌr die functions.php

Markus Seyfferth
Autor Dr. Web
5 Min. Lesezeit
Code-Beispiele functions.php
drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügen

Die Code-Fragmente aktivieren, deaktivieren oder manipulieren viele wichtige Dinge im Zusammenhang mit deiner Website. Im Grunde arbeitet diese Datei wie ein Plugin und wird automatisch bei der Initialisierung von WordPress geladen. NatΓΌrlich kann man die Code-Snippets auch in ein eigenes Plugin einfΓΌgen, das man speziell fΓΌr die Snippets und seine Website erstellt hat. Wir liefern die nΓΌtzlichsten Snippets fΓΌr diese Dateien.

WordPress: 20 Code-Schnipsel fΓΌr die functions.php

Bei allen Grafiken gilt: Ein Klick ΓΆffnet das entsprechende Gist bei GitHub

1 – DasΒ WordPress-Login-Logo austauschen

login-logo-aendern

So kann das Login-Design an ein eventuelles Corporate-Design eines Kunden angepasst werden.

Das Ergebnis

2 – Zugriff auf MenΓΌpunkte im Backend auf Basis des Nutzernamens einschrΓ€nken

Mit dieser Funktion lΓ€sst sich auf Basis des Benutzernamens der Zugriff auf diverse Admin-MenΓΌpunkte deaktivieren.

Zugriff auf MenΓΌs beschrΓ€nken

3 – Die WortlΓ€nge des Excerpt festlegen

Der Standard-Excerpt ist genau 55 Worte lang. Mit diesem Schnipsel lΓ€sst er sich ΓΌberschreiben.

excerpt

4 – Die WordPress Admin-Bar entfernen

Mit dem Release von WordPress 3.1 wurde die Admin Bar als neue Funktion hinzugefΓΌgt. Einige Menschen empfinden diese als ΓΌberaus praktisch, andere finden sie stΓΆrend. Entfernen kann man die Admin-Bar mit folgendem Code:

Adminbar entfernen

5 – DenΒ Seitensprung bei Klick auf „Weiterlesen“ deaktivieren

Klickt man bei einem Artikel-AuszugΒ auf „Weiterlesen“,Β fΓΌgt WordPress automatisch einen Seitensprung ein. Mit dieser Funktion wird der SeitensprungΒ beim Laden der Seite deaktiviert:

Seitensprung deaktivieren

6 – RSS-Feeds von WordPress abschalten

Statische Websites brauchen keinen Feed, daher kann man sieΒ mittels dieses Codes schnell abschalten.

Feeds abschalten

7 –Β Entfernen der WordPress Dashboard-Widgets

Mit diesem Code kann man die Dashboard-Widgets auf der Startseite des Administrator-Bereichs von WordPress komplett oder teilweise abschalten.

Dashboard-Widgets abschalten

8 –Β Custom Post-Types in die WordPress-Suche integrieren

Um die seit WordPress 3.0 mΓΆglichenΒ Custom Post Types in den Suchergebnissen der WordPress-Suche erscheinen zu lassen, bedarf es dieses Codes:

Custom Post Types in die Suche integrieren

9 – Google Analytics-Code in den Footer einbinden

Mit nur wenigen Zeilen Code kann man den Google Analytics-Code in den Footer einbinden, jeder andere Analytics Code funktioniert auch.

Analytics Code einbinden

10 – Ein Favicon anzeigen lassen

Ein Favicon ist ein kleines Bild, welches im Tab deines Browser angezeigt wird. Dein Blog sieht mit einem Favicon einfach professioneller aus. Die Bilddatei favicon.ico muss nur noch in das Hauptverzeichnis des Themes geladen werden.

Favicon anzeigen lassen

11 – Ein eigenes Logo im Dashboard von WordPress

Ab und an kann dieser Code sehr interessant sein, entweder, weil man seine eigene Website individualisieren will, oder eine Website fΓΌr einen Kunden aufsetzt. Der Pfad und der Name zum Logo mΓΌssen eventuell noch angepasst werden.

Eigenes Dashboard-Logo

Das Ergebnis des Codes:

 

Quelle: Jacob Goldman’s Article on Smashing Magazine

12 – Footer-Text im WordPress-Adminbereich Γ€ndern

Der Text, der im Adminbereich der Website im Footer angezeigt wird, kann jederzeit geΓ€ndert werden. So kannst du den Text anpassen:

Admin Footer austauschen

13 – Eigene Dashboard-Widgets erstellen

Vielleicht hast du dich schon mal gefragt, wie es einige Plugin-Entwickler schaffen, ihre eigenen Widgets im Dashboard von WordPress zu integrieren. Das ist recht einfach, hier ist ein mΓΆglicher Ansatz dazu:

custom dashboard-widgets

Das Ergebnis:

custom-dashboard-widgets

14 – Dynamische Copyright-Daten im Footer der Website anzeigen

Oftmals sieht man Websites mit veralteten Copyright-Daten. Oder eben nur mit dem neuesten Jahr, wenn die WordPress-Funktion dafür genutzt wurde. Richtig Spaß macht das nicht, denn wesentlich schâner ist bei einer bereits etwas lÀnger existierenden Website eine Copyright Ausgabe nach dem Muster © 2014 bis 2016. Das ist mit etwas Code schnell zu erreichen:

Dynamisches Copyright

Im Anschluss fΓΌgst du noch folgenden Tag dort ein, wo das Copyright erscheinen soll. Zum Beispiel in der footer.php.

<?php echo ah_dynamic_copyright(); ?>

Das Ergebnis:

ergebnis-copyright

15 – Entferne einige Standard-Autorenfelder im Autor-Profil

Wenn du eine Website fΓΌr einen Kunden entwickelst, dann wird dieser vielleicht seine Kontaktdaten in seinem Benutzerprofil ergΓ€nzen wollen. Das ist gut so, doch genau dort sind auch Felder angegeben fΓΌr Dienste, die niemals von irgendjemandem genutzt werden. Mit diesem Code entfernst du diese nutzlosen Eingabefelder.

Nutzlose Kontaktfelder entfernen

16 – Autorenfelder zum Autor-Profil hinzufΓΌgen

Was man entfernen kann, kann man auch hinzufΓΌgen. Hier ist ein Code, der wirklich nΓΌtzliche Eingabefelder deinem Autoren-Profil hinzufΓΌgt.

Kontaktfelder hinzufΓΌgen

Das Ergebnis:

Das Ergebnis

Die zusΓ€tzlichen Felder kΓΆnnen mit folgendem Tag im Theme angezeigt werden:

<?php echo $curauth->twitter; ?>

17 – Den RSS-Feed-Footer manipulieren

Diese Funktion kann sehr gut dafΓΌr eingesetzt werden, um Werbung oder benutzerdefinierte NachrichtenΒ nach jedem BeitragΒ im Feed anzeigen zu lassen.

Den RSS-Feed manipulieren

In diesem Fall haben wir eine Funktion erstellt, die innerhalb eines jeden Inhalts im Feed eine Nachricht ausgibt. Vor dem eigentlichen Inhalt wird Β»Dieser Artikel wurde von Andreas Hecht verfasstΒ« ausgegeben, nach dem Inhalt dann Β»Schau dir DrWeb.de anΒ«. Wichtig ist, dass diese Funktion durch „if(is_feed)“ nur dem Feed zugewiesen wurde und auch nur dort angezeigt wird.

18 – Beitragsbilder auch im Feed ausgeben

Solltest du die normalen Standard-Feeds von WordPress nutzen, dann hast du vielleicht schon festgestellt, dass die Beitragsbilder nicht im Feed erscheinen. Das kannst du leicht mit dem folgenden Code beheben:

Beitragsbilder in die RSS-Feed bringen

19 – Entferne die Fehlermeldung auf der Login-Seite

Wenn du deine Zugangsdaten auf der Login-Seite von WordPress eingibst, bekommst du eine detaillierte Fehlermeldung, wenn die Daten nicht stimmen. Die Fehlermeldung sagt dir dabei genau, ob dein Passwort oder dein Benutzername falsch waren. Das kΓΆnnen natΓΌrlich auch die Hacker nutzen, darum entfernen wir diese Fehlermeldung mit dem folgenden Code:

login errors

Das Ergebnis ist eine leere Fehlerbox:

Ergebnis Fehlerbox

20 – Die Suchfunktion von WordPress abschalten

Wenn man eine statische Website erstellt, benâtigt man vielleicht keine Suchfunktion mehr. Aus dem Design kann die Suchfunktion leicht entfernt werden, jedoch ist die Funktion immer noch da und kann von außen eventuell missbraucht werden. Daher zeigt der folgende Code, wie die Suche vollstÀndig abzuschalten ist.

Suche abschalten

21 <pre>-tag in Kommentaren erlauben

Normalerweise entfernt WordPress nicht erlaubte HTML-Tags aus den Kommentaren. Das ist natΓΌrlich eine sinnvolle Funktion, denn sie verhindert, dass XSS-SicherheitslΓΌcken und anderer bΓΆsartiger Code von Spammern, Hackern und anderen Idioten eingeschleust werden.

Dennoch gibt es viele andere Tags, die Blogger unterstΓΌtzen mΓΆchten; zum Beispiel mΓΆchten Tech-Blogger den <pre> Tag unterstΓΌtzen, damit Kommentatoren Code posten kΓΆnnen. GlΓΌcklicherweise ist es recht einfach, weitere Tags in Ihren WordPress-Kommentaren zuzulassen:

function erlaube_pre_tag_in_kommentaren( $allowed_tags ) {
$allowed_tags['pre'] = array();
return $allowed_tags;
}
add_filter( 'wp_kses_allowed_html', 'erlaube_pre_tag_in_kommentaren', 10, 1 );

(dpe)

4,3 1011 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?

Empfohlene Artikel
Markus Seyfferth
Autor
ist seit 2019 geschÀftsführender Gesellschafter von Dr. Web. Er verantwortet die redaktionelle Ausrichtung des Dr. Web Magazins und bringt seine Expertise in den Bereichen Webdesign, Webentwicklung, WordPress, SEO sowie Online Marketing ein. Zudem verfasst er regelmÀßig Fachartikel, um sein Wissen und seine Erfahrungen zu teilen und anderen im Online Marketing weiterzuhelfen.
727 Artikel verΓΆffentlicht
Alle Artikel

10 Kommentare

  1. Torsten Landsiedel

    Zu #5:
    Wer einen großen Header ΓΌberspringen mΓΆchte, aber nicht den Artikelanfang, der kann auch das „#more-“ mit „#post-“ ersetzen und so zum Artikelstart springen:

    function remove_more_jump_link($link) {
    	$link = str_replace('#more-', '#post-', $link);
    	return $link;
    }
    add_filter('the_content_more_link', 'remove_more_jump_link');
    

    Zu #9:
    Wenn man das Ganze noch in ein is_user_logged_in kapselt, dann zΓ€hlt man die eigenen Aufrufe nicht mit.

    Zu #10:
    Das ist seit WordPress 4.3 ΓΌber das neue Site Icon Feature umsetzbar.

    Zu #19:
    Gar keine Fehlermeldung zurΓΌckzugeben ist aber „Bad UX“ und bringt zudem gar nichts. Ist der Benutzername richtig, aber das Passwort falsch, dann wird nur das Passwortfeld gelΓΆscht. Ist auch der Benutzername falsch, dann wird auch dieses Feld gelΓΆscht. Auch wenn dieser Schnipsel vielfach angegeben wird, er bringt rein gar nichts, außer schlechter UX.

  2. Guido Brand

    Die Snippets sind tlw. wirklich sehr sinnvoll. Allerdings sollten solche FunktionalitΓ€ten in ein oder mehrere/verschiedene Plugins wandern. Wenn ich nΓ€mlich das Theme wechseln sollte, sind diese Γ„nderungen futsch. Liegen diese in einem Plugin, bleiben sie auch nach einem Theme-Wechsel verfΓΌgbar.

  3. Torsten

    Genau. Einfach einen Plugin-Header nehmen und das Snippet dahinter einfΓΌgen (Namen und Titel kann man beliebig anpassen): https://gist.github.com/Zodiac1978/1d9f33ef1be377869ad3

  4. Dieter Petereit

    Deshalb heißt es „functions.php oder Seitenplugin“. Der Hinweis ist natΓΌrlich vollkommen richtig.

  5. Christian

    Die Snippets sind zum Teil wirklich sinnvoll. Auf unserem Blog habe ich mir Γ€hnliche Gedanken zum Dazzling-Theme von Colorlib gemacht und zwei sinnvolle Snippets niedergeschrieben:
    http://www.travelography.de/2015/11/26/coding-support-dazzling/

    Grüße
    Christian

  6. Franz Meyer

    Danke fΓΌr diesen Beitrag!

  7. Andreas Hecht

    Gerne doch!

  8. Lars Richter

    Das ist mal ne schicke und hilfreiche Liste! Besonders der Weg, Google Analytics so einzubinden, find ich praktisch. πŸ™‚

  9. Thomas A. Reinert

    Herzlichen Dank fΓΌr ein paar gute Anregungen. Weitere sinnvolle ErgΓ€nzungen bieten z.B. http://www.wpfunction.me/ und https://generatewp.com/ .

  10. Patrick Sommerfeld

    Sie wollen den Lagerbestand bzw. die ProduktverfΓΌgbarkeit ΓΌber eine Ampel (rot/grΓΌner Punkt) im Produkt Vorschaubild anzeigen lassen statt den Ausverkauft Text im Produktbild?:

    Vorschau im Live Betrieb hier: https://car-bulbs.de/product-category/halogenlampen/24v-halogenlampen/page/2/

    functions.php:

    
    
    // Funktion zum HinzufΓΌgen des VerfΓΌgbarkeits-Badges
    function add_availability_badge() {
        global $product;
    
        // Überprüfen Sie, ob das Produkt ausverkauft ist
        $availability = $product->get_availability();
    
        // FΓΌgen Sie das Badge nur fΓΌr Produkte hinzu, die auf der Vorschauseite angezeigt werden
        if (is_shop() || is_product_category() || is_product()) {
            echo '';
        }
    }
    
    // Hook zum HinzufΓΌgen des Badges ΓΌber dem Produktvorschaubild
    add_action('woocommerce_before_shop_loop_item_title', 'add_availability_badge', 10);
    
    Custom CSS:
    
    /* Ausblenden des Out of Stock-Hinweises im Vorschaubild */
    .soldout {
        display: none;
    }
    
    /* Stil fΓΌr den runden Punkt */
    .product-preview-badge {
        position: absolute;
        top: 0;
        right: 0;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        margin: 5px; /* Optionaler Abstand zum Bild */
    }
    
    /* Roter Punkt fΓΌr ausverkaufte Produkte */
    .product-preview-badge.out-of-stock {
        background-color: #FF0000; /* Rot */
    }
    
    /* GrΓΌner Punkt fΓΌr verfΓΌgbare Produkte */
    .product-preview-badge.in-stock {
        background-color: #00FF00; /* GrΓΌn */
    }
    

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht verΓΆffentlicht. Erforderliche Felder sind mit * markiert

Newsletter

Mehr solcher Artikel?
Jetzt kostenlos abonnieren.

Jeden Dienstag die besten Artikel aus dem Dr. Web-Magazin direkt in Ihr Postfach – kein Spam, jederzeit abmeldbar.

Einmal pro Woche, kein tΓ€glicher Spam
Jederzeit mit einem Klick abmeldbar
DSGVO-konform via Brevo