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.