B2B Market Shortcode: Text für mehrere B2B Gruppen gleichzeitig ausgeben

Im heutigen Code Snippet geht es um das WordPress Plugin B2B Market welches WooCommerce um diverse Funktionen erweitert. Leider bietet das Plugin nicht die Möglichkeit bei der Verwendung von mehreren B2B Kundengruppen diese gezielt anzusteuern. Mit Boardmitteln ist es nur möglich Texte einzeln für die jeweilige Gruppe zu definieren. Das folgende Snippert erleichtert es, mehrere B2B Gruppen gemeinsam anzusteuern. 

Der Output im folgenden Beispiel wird nicht gefiltert, es ist also auch möglich HTML Code hier mit auszugeben. Der Code kommt wie gewohnt in ein eigenes Plugin oder im Notfall auch in die functions.php eures Child Themes.

				
					function osulzer_customer_b2b_shortcode($atts, $content = null) {

    $settings = shortcode_atts( array(
        'group' => 'customer',
    ), $atts );

    # hier die slugs der b2b gruppen eintragen
    $b2bRoles = [
        'role_1',
        'role_2',
    ];

    $userdata = is_user_logged_in() ? get_userdata(get_current_user_id()) : false;

    $usertype = !$userdata || count(array_intersect($userdata->roles, $b2bRoles)) == 0 ? 'customer' : 'b2b';

    if($usertype == $settings['group']) {

        return $content;

    }

}

add_shortcode('osulzer_customer_b2b', 'osulzer_customer_b2b_shortcode');
				
			
Kontakt
Ihre Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verarbeitet. Mehr Informationen findest du in unserer Datenschutzerklärung

Bürozeiten:
Montag – Freitag: 9 – 19 Uhr
Samstag: 9 – 16 Uhr

Im Notfall auch am Wochenende erreichbar