Bestimmt gibt es andere Lösungen für die kleine in der Folge von mir beschriebenen Aufgaben. Aber Plugins wollte ich dafür (wieder mal) nicht einsetzen. 🙂 Manche werden das verstehen.
Das schöne Theme „Point„, das du bei MyThemeShop.com kostenlos downloaden kannst und das ich in meinem neuen Watschblog einsetze 🙂 , ermöglichst – wie viele andere Themes ebenfalls, in Abhängigkeit von der Kategorie einzelne Artikel besonders herauszustellen (Feature). Dazu müsste ich ab jetzt immer daran denken, neben der eigentlichen Kategorie noch einen zweiten Klick zu machen, um die Kategorie auszuwählen.
Für den Augenblick habe ich mich nämlich dazu entschieden, jeden neuen Artikel mit den entsprechenden Funktionen zu versehen. Da wären zwei Dinge nützlich: 1.) möchte ich die Kategorie, die nur diesen Zweck erfüllt, im Meta-Bereich der Artikel nicht sehen. Sie soll gar nicht erscheinen und 2.) will ich, dass diese Kategorie beim Speichern automatisch ausgewählt wird.
In beiden Fällen wurde ich fündig. Auf der Website Kellerclub.eu fand ich den Code zur Realisierung von 1.) und die Lösung für den zweiten Teil fand ich hier.
1.) Kategorie nicht anzeigen
function the_category_filter($thelist,$separator=' ') { if(!defined('WP_ADMIN')) { //Category IDs to exclude $exclude = array(17); $exclude2 = array(); foreach($exclude as $c) { $exclude2[] = get_cat_name($c); } $cats = explode($separator,$thelist); $newlist = array(); foreach($cats as $cat) { $catname = trim(strip_tags($cat)); if(!in_array($catname,$exclude2)) $newlist[] = $cat; } return implode($separator,$newlist); } else { return $thelist; } } add_filter('the_category','the_category_filter', 10, 2);
2.) Kategorie „_Featured“ automatisch auswählen
add_action( 'wp_insert_post', 'update_post_terms' ); function update_post_terms( $post_id ) { if ( $parent = wp_is_post_revision( $post_id ) ) $post_id = $parent; $post = get_post( $post_id ); if ( $post->post_type != 'post' ) return; // add a tag wp_set_post_terms( $post_id, 'new tag', 'post_tag', true ); // add a category $categories = wp_get_post_categories( $post_id ); $newcat = get_term_by( 'name', 'Some Category', 'category' ); array_push( $categories, $newcat->term_id ); wp_set_post_categories( $post_id, $categories ); }
Beides habe ich in eine Modul – Datei hineingepackt und sie unter Toolbox aktiviert. So sieht das Modul komplett aus:
< ?php /* Module Name: Kategorie Featured ausschliessen Description: Kategorie Featured ausschliessen [Back- and Frontend] Author: Snipped Author URI: https://2bier.de */ /* Sicherheitsabfrage */ if ( !class_exists('Toolbox') ) { die(); } function the_category_filter($thelist,$separator=' ') { if(!defined('WP_ADMIN')) { //Category IDs to exclude $exclude = array(16); $exclude2 = array(); foreach($exclude as $c) { $exclude2[] = get_cat_name($c); } $cats = explode($separator,$thelist); $newlist = array(); foreach($cats as $cat) { $catname = trim(strip_tags($cat)); if(!in_array($catname,$exclude2)) $newlist[] = $cat; } return implode($separator,$newlist); } else { return $thelist; } } add_filter('the_category','the_category_filter', 10, 2); add_action( 'wp_insert_post', 'update_post_terms' ); function update_post_terms( $post_id ) { if ( $parent = wp_is_post_revision( $post_id ) ) $post_id = $parent; $post = get_post( $post_id ); if ( $post->post_type != 'post' ) return; // add a category $categories = wp_get_post_categories( $post_id ); $newcat = get_term_by( 'name', '_Featured', 'category' ); array_push( $categories, $newcat->term_id ); wp_set_post_categories( $post_id, $categories ); }
Den Unterstrich bei der im Watschblog eingesetzten Kategorie „_Featured“ habe ich deshalb gewählt, damit in den Bildbeschreibungen (Wp-Caption) des Themes nur die erste gewählte Kategorie angezeigt wird. Durch den Unterstrich rutscht sie im Rang nach hinten. Das Leben kann so einfach sein. 🙂
Hier im Blog werden bei Abgabe von Kommentaren keine IP-Adressen gespeichert! Ihre E-Mail-Adresse wird NIE veröffentlicht! Sie können anonym kommentieren. Ihr Name und Ihre E-Mail-Adresse müssen nicht eingegeben werden.