Bloggen, Gesellschaft

Eine bestimmte Kategorie eines Artikels nicht anzeigen bzw. diese automatisch setzen

∼ 4 Min. Lesezeit

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. 🙂

Quelle Featured-Image:

Letztes Update:

Gefällt Ihnen der Artikel? Dann teilen Sie ihn mit Ihren Freunden.

Schreibe einen Kommentar


Hier im Blog werden bei Abgabe von Kommentaren keine IP-Adressen gespeichert! Deine E-Mail-Adresse wird auf keinen Fall veröffentlicht.

Meine Kommentar-Politik: Ich mag Kommentare, und ich schätze die Zeit, die du zu dem Zweck investierst, Ideen auszutauschen und Feedback zu geben. Nur Kommentare, die als Spam oder eindeutig Werbezwecken dienen, werden gelöscht.



Your Mastodon Instance
Share to...