Lesefortschritt:

Beiträge im Backend nach Schlagwörtern und anderen Taxonomien filtern – der 400. Beitrag von Dr. Code

3. November 2024 | functions.php, WordPress

Dieser Beitrag beinhaltet 530 Wörter. – Geschätzte Lesezeit: ca. 3 Minuten.

Zur Feier des Tages – zum 400. Beitrag auf dieser Website – wieder mal ein echtes Schmankerl: Wir motzen die Beitragsübersicht im Backend auf und fügen ihr neue Filter hinzu. Das ist überhaupt nicht schwierig.

Normalerweise zeigt sich die Titelleiste in der Beitragsübersicht des WordPress-Backends so:

Die Beiträge können über die Auswahlfelder im Tabellenkopf nach Veröffentlichungsmonat und nach Kategorien gefiltert werden – nicht aber nach Schlagwörtern oder Custom Taxonomies.

Doch dies lässt sich nachbessern. Dafür benötigen Sie den folgenden Code, den Sie in der Datei functions.php Ihrer WordPress-Installation unterbringen. Diese Datei bearbeiten Sie unter Design/Theme-Datei-Editor:

// Filter im Backend einrichten
function filter_posts_by_taxonomies( $post_type, $which ) {

	// Nur für einen bestimmten Post-Type anwenden
	if ( 'post' !== $post_type )
		return;

	// Filterbare Taxonomien bestimmen
	$taxonomies = array( 'post_tag' );

	foreach ( $taxonomies as $taxonomy_slug ) {

		// Taxonomie-Daten sammeln
		$taxonomy_obj = get_taxonomy( $taxonomy_slug );
		$taxonomy_name = $taxonomy_obj->labels->name;
		$terms = get_terms( $taxonomy_slug );

		// Filter einrichten
		echo "<select name='{$taxonomy_slug}' id='{$taxonomy_slug}' class='postform'>";
		echo '<option value="">' . sprintf( esc_html__( 'Alle %s', 'text_domain' ), $taxonomy_name ) . '</option>';
		foreach ( $terms as $term ) {
			printf(
				'<option value="%1$s" %2$s>%3$s (%4$s)</option>',
				$term->slug,
				( ( isset( $_GET[$taxonomy_slug] ) && ( $_GET[$taxonomy_slug] == $term->slug ) ) ? ' selected="selected"' : '' ),
				$term->name,
				$term->count
			);
		}
		echo '</select>';
	}

}
add_action( 'restrict_manage_posts', 'filter_posts_by_taxonomies' , 10, 2);

In diesem Beispiel verwenden wir nur die Schlagwörter (post_tag) als neuen Filter. Sie können aber jegliche weiteren Custom Taxonomies eintragen: Das tun Sie in Zeile 9, die dann z.B. so aussehen könnte: $taxonomies = array( 'post_tag', 'taxonomie2', 'taxonomie3' );

Die Beitragsübersicht von dr-code.ch zeigt sich mit diesem Hack nun neu so:

Neben der gewohnten Monats- und Kategorieauswahl erscheint – wie gewünscht – auch das Schlagwort als möglicher Filter.

Werbung

Werbung

 

Kostenlose WordPress- und Divi-Tricks im Abo

Wir schicken Ihnen sporadisch (weniger als 10x jährlich) neue Tricks für Wordpress und das Divi-Theme, aber auch hilfreiche CSS- und HTML-Codes frei Haus.

Füllen Sie zur Anmeldung das folgende Formular aus. Angaben mit * sind Pflichtangaben.






Vielen Dank.

Pin It on Pinterest

Share This