Lesefortschritt:

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

3. November 2024 | functions.php, Word­Press

Trick # 400 | 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 Word­Press-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 Word­Press-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

Keine Inhalte gefunden.

Werbung

 

Pin It on Pinterest

Share This
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.