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


| Aktualisiert: 28. Juni 2020   0 Kommentare 2 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. 🙂

0
Dieser Beitrag wurde bisher 13 mal aufgerufen.



Horst Schulte
Artikelautor: Horst Schulte

Mein Bloggerleben reicht bis ins Jahr 2004 zurück. Damals habe ich dieses schöne Hobby für mich entdeckt. Ich bin jetzt 67 Jahre alt und lebe seit meiner Geburt in der schönen Stadt Bedburg, nicht weit von Köln entfernt. Das mit dem Schreiben ist zwar weniger geworden. Aber ab und zu schreibe ich hier und anderswo.

KÜNDIGE DEINE MITGLIEDSCHAFT bei TWITTER, FACEBOOK, INSTAGRAM & CO.
SIE ZERSTÖREN DIE DEMOKRATIE.

Vorheriger

Gute und schlechte Kritiken zum letzten «Tatort» mit Tessa Mittelstaedt als «Franziska»

Interview Richard Gutjahr mit Georg Mascolo, Ex-​Chefredakteur des Spiegel

Nächster

Schreibe einen Kommentar


Es werden keine IP-Adressen gespeichert! Sie können, falls Sie dies möchten, auch anonym kommentieren.