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

3 Min. Lesezeit
4 Views

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

IMG 2024 10 13 142823
Horst Schulte
Herausgeber, Blogger, Autor und Hobby-Fotograf
Seit 2004 blogge ich über Politik und Gesellschaft – also seit die meisten noch SMS statt Tweets geschrieben haben. Mit 70 Jahren lebe ich immer noch im schönen Bedburg, direkt vor den Toren Kölns, und schreibe über alles, was die Welt bewegt (oder mich zumindest vom Sofa aufstehen lässt).

VOR
Artikelinformationen:

Bloggen, Gesellschaft

Quelle Featured-Image: HorstSchulte.com...

Letztes Update:

4 Views

Kommentieren


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.


Ähnliche Beiträge

Your Mastodon Instance
Share to...