Ankerlink an den Anfang der Seite
foto von alexas fotos
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 10. Januar 2023, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Beschreibungen in Produktkategorien anzuzeigen lässt die Besonderheiten einer Produktgruppe auf einen Blick erfassen. Beim Blättern auf die 2. Seite eines Kategorie-Archivs fehlt der Überblick allerdings. Zuständig dafür, dass nur die jeweilige Seite 1 mit der Beschreibung bestückt wird, ist die Funktion woocommerce_taxonomy_archive_description in der wc-template-functions.php.

if ( ! function_exists( 'woocommerce_taxonomy_archive_description' ) ) {
	/**
	 * Show an archive description on taxonomy archives.
	 */
	function woocommerce_taxonomy_archive_description() {
		if ( is_product_taxonomy() && 0 === absint( get_query_var( 'paged' ) ) ) {
			$term = get_queried_object();

			if ( $term ) {
				/**
				 * Filters the archive's raw description on taxonomy archives.
				 *
				 * @since 6.7.0
				 *
				 * @param string  $term_description Raw description text.
				 * @param WP_Term $term             Term object for this taxonomy archive.
				 */
				$term_description = apply_filters( 'woocommerce_taxonomy_archive_description_raw', $term->description, $term );

				if ( ! empty( $term_description ) ) {
					echo '<div class="term-description">' . wc_format_content( wp_kses_post( $term_description ) ) . '</div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
				}
			}
		}
	}
}

Da die Funktion nur zur Anwendung kommt, wenn sie noch nicht existiert, könnte sie z.B. in der functions.php des Themes einfach kopiert und angepasst werden. Damit wird die Kategoriebeschreibung auch auf allen Folgeseiten angezeigt.

function woocommerce_taxonomy_archive_description() {
	if ( is_product_taxonomy() ) {
		$term = get_queried_object();

		if ( $term ) {
			$term_description = apply_filters( 'woocommerce_taxonomy_archive_description_raw', $term->description, $term );

			if ( ! empty( $term_description ) ) {
				echo '<div class="term-description">' . wc_format_content( wp_kses_post( $term_description ) ) . '</div>'; 
			}
		}
	}
}

Genausogut lässt sich die Fortführung der Beschreibung auf Kategoriefolgeseiten über die Action woocommerce_archive_descriptionumsetzen.

function display_description_on_all_category_archive_pages() {
	if ( is_product_taxonomy() && 0 !== absint( get_query_var( 'paged' ) ) ) {
		$term = get_queried_object();
		if ( $term ) {
			$term_description = apply_filters( 'woocommerce_taxonomy_archive_description_raw', $term->description, $term );

			if ( ! empty( $term_description ) ) {
				echo '<div class="term-description">' . wc_format_content( wp_kses_post( $term_description ) ) . '</div>'; 
			}
		}
	}
}
add_action( 'woocommerce_archive_description', 'display_description_on_all_category_archive_pages');

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.