WordPress Theme mit einfachen Handgriffen anpassen

Wordpress

Ich bin kürzlich von einem anderen CMS zu WordPress gewechselt, da ich so einige Vorteile im Bezug auf das Bloggen entdecken konnte. Allerdings vermisse ich auch ein paar Features, die ich bisher als selbstverständlich für ein CMS erachtete. Folgend ein paar Tipps, wie manches doch funktioniert.

Die folgenden Code-Zeilen werden in die Datei wp-content/themes/[theme-name]/functions.php eingefügt.

1. Nur eine bestimmte Kategorie auf der Startseite anzeigen

Mit Sicherheit gibt es hierfür auch einige mehr oder weniger gute Plugins, mit denen man das Problem lösen könnte. Allerdings versuche ich bei einfachen Lösungen lieber auf die konventionellen Methode eines 3-Zeilers zurückzugreifen. Dazu den Kategorie-Namen (slug) bzw die Kategorie-ID nach eigenen Wünschen austauschen. Es können auch mehrere mit Komma getrennte ID-Werte eingegeben werden.

add_filter( 'pre_get_posts', 'filterFrontPosts' );
function filterFrontPosts( $query )
{
    if ( !is_admin() && $query->is_home && $query->is_main_query() )
    {
        // anstelle von 'blog' den gewünschten Kategorie-Namen eingeben
        $query->set( 'category_name', "blog" );

        // oder anstelle von '12' die gewünschte Kategorie-ID eingeben
        //$query->set( 'category_id', "12" )
    }
    return $query;
}

2. Den Kommentar-Feed deaktivieren

Wer nicht möchte, daß die Kommentare als Feed auf der Seite zur Verfügung stehen, kann diese mit folgenden Zeilen unterdrücken.

add_action( 'do_feed_rss2', 'remove_comment_feeds'), 9, 1 );
add_action( 'do_feed_atom', array($this, 'remove_comment_feeds'), 9, 1 );
public function remove_comment_feeds( $for_comments ){
    if( $for_comments )
    {
        // unterbindet die Ausgabe der Kommentare
        remove_action( 'do_feed_rss2', 'do_feed_rss2', 10, 1 );
        remove_action( 'do_feed_atom', 'do_feed_atom', 10, 1 );
    }
}

add_action( 'after_setup_theme', 'head_cleanup' );
public function head_cleanup()
{
    // aktiviert die Standard-Meta Angaben im HTML-Head
    add_theme_support( 'automatic-feed-links' );
 
    // deaktiviert die Zeile für die Kommentare
    add_filter( 'feed_links_show_comments_feed', '__return_false' );
}

3. Nach dem Logout auf die Startseite umleiten

add_action( 'wp_logout', 'logout_redirect' );
public function logout_redirect()
{
    wp_safe_redirect( home_url() );
    exit;
}

4. Jetpack-Menü und -Dashboard Widget entfernen

Wer das Jetpack-Plugin verwendet und nicht möchte, daß es für registrierte Benutzer sichtbar ist, kann es wie folgt ausblenden.

add_action( 'admin_menu', 'remove_jetpack_page', 999 );
public function zt__remove_jetpack_page()
{
    if ( class_exists( 'Jetpack' ) && !current_user_can( 'manage_options' ) )
    {
        remove_menu_page( 'jetpack' );
    }
}

add_action( 'wp_dashboard_setup', 'remove_dashboard_widgets', 999 );
public function remove_dashboard_widgets()
{
    global $wp_meta_boxes;
    if ( class_exists( 'Jetpack' ) && !current_user_can( 'manage_options' )
         && isset( $wp_meta_boxes['dashboard']['normal']['core']['jetpack_summary_widget'] ) )
        {
        unset($wp_meta_boxes['dashboard']['normal']['core']['jetpack_summary_widget']);
    }
}

Die oberen Punkte sind nur ein kleiner Auszug von dem, was alles mit WordPress möglich ist. Wer sich ernsthaft mit WordPress beschäftigt, wird merken, daß das System ziemlich flexibel und das Netz voll von solchen so genannten Hooks ist. Schreibt mir in den Kommentaren, was ihr noch für Sinnvoll haltet.

Teilen mit:

Zeljko Trulec

Ich bin ein leidenschaftlicher Papa von 2 wundervollen Kindern und habe eins meiner Hobbies (in Android, PHP und JavaScript programmieren) zu meinem Beruf gemacht. Ich interessiere mich für Gadgets und für alles was das Leben einfacher und vor allem lebenswerter macht.

Kommentieren

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "OK, Hinweis schliessen" klickst, erklärst du sich damit einverstanden.

The cookie settings on this site are set to "Allow cookies" to provide the best surfing experience. If you use this website without changing the cookie settings or click on "OK, close the hint", you agree.

Schließen

Login