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

3 Minute/n


Merken

0

Bestimmt gibt es ande­re Lösun­gen für die klei­ne in der Fol­ge von mir beschrie­be­nen Auf­ga­ben. Aber Plug­ins woll­te ich dafür (wie­der mal) nicht ein­set­zen. 🙂 Man­che wer­den das verstehen.

Das schö­ne The­me „Point“, das du bei MyThe​me​Shop​.com kos­ten­los down­loa­den kannst und das ich in mei­nem neu­en Watsch­blog ein­set­ze 🙂 , ermög­lichst – wie vie­le ande­re The­mes eben­falls, in Abhän­gig­keit von der Kate­go­rie ein­zel­ne Arti­kel beson­ders her­aus­zu­stel­len (Fea­ture). Dazu müss­te ich ab jetzt immer dar­an den­ken, neben der eigent­li­chen Kate­go­rie noch einen zwei­ten Klick zu machen, um die Kate­go­rie auszuwählen.

Für den Augen­blick habe ich mich näm­lich dazu ent­schie­den, jeden neu­en Arti­kel mit den ent­spre­chen­den Funk­tio­nen zu ver­se­hen. Da wären zwei Din­ge nütz­lich: 1.) möch­te ich die Kate­go­rie, die nur die­sen Zweck erfüllt, im Meta-Bereich der Arti­kel nicht sehen. Sie soll gar nicht erschei­nen und 2.) will ich, dass die­se Kate­go­rie beim Spei­chern auto­ma­tisch aus­ge­wählt wird.

In bei­den Fäl­len wur­de ich fün­dig. Auf der Web­site Kel​ler​club​.eu fand ich den Code zur Rea­li­sie­rung von 1.) und die Lösung für den zwei­ten Teil fand ich hier.

1.) Kate­go­rie 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.) Kate­go­rie „_​Featured“ auto­ma­tisch 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 );
}

Bei­des habe ich in eine Modul – Datei hin­ein­ge­packt und sie unter Tool­box akti­viert. So sieht das Modul kom­plett 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 Unter­strich bei der im Watsch­blog ein­ge­setz­ten Kate­go­rie „_​Featured“ habe ich des­halb gewählt, damit in den Bild­be­schrei­bun­gen (Wp-Cap­ti­on) des The­mes nur die ers­te gewähl­te Kate­go­rie ange­zeigt wird. Durch den Unter­strich rutscht sie im Rang nach hin­ten. Das Leben kann so ein­fach sein. 🙂

Diesen Beitrag teilen:
0CDD5CFF 182F 485A 82C6 412F91E492D0
Horst Schulte
Rentner, Blogger & Hobbyfotograf
Mein Bloggerleben reicht bis ins Jahr 2004 zurück. Ich bin jetzt 71 Jahre alt und lebe seit meiner Geburt (auch aus Überzeugung) auf dem Land.
Quelle Featured-Image: Standardbild...

Letztes Update:

Anzahl Wörter im Beitrag: 572
Aufgerufen gesamt: 45 mal
Aufgerufen letzte 7 Tage: 7 mal
Aufgerufen heute: 4 mal

Lass deinen Gedanken freien Lauf


Hier im Blog werden bei Abgabe von Kommentaren keine IP-Adressen gespeichert! Deine E-Mail-Adresse wird NIE veröffentlicht! Du kannst anonym kommentieren. Dein Name und Deine E-Mail-Adresse müssen nicht eingegeben werden.


✅ Beitrag gemerkt! Favoriten anzeigen
0
Share to...
Your Mastodon Instance