Falls hier jmd die Lösung interessiert

Der Tipp von MarkInTosh war grundsätzlich schon mal nicht verkehrt, hat aber so nicht geklappt. Was mir bei aller Hilfe immer gefehlt hat war ein zweiter Link. Ich wusste, das es was mit "else {" zu tun haben muss und habe mir dann selber was zusammengebastelt und über chatGPT checken lassen. Das ist das funktionierende Ergebnis:

add_action( 'woocommerce_single_product_summary', 'custom_button_by_categories', 36 ,0 );
function custom_button_by_categories(){
global $product;
// Define your categories in this array (can be IDs, slugs or names)
$product_cats = array('category1', 'category2', 'category3', 'category4');
if( has_term( $product_cats, 'product_cat', $product->get_id() ) ){
$demo_url = get_post_meta( $product->get_id(), 'demo_url', true );
echo '<a class="button-category" href="hier-der-erste-Link">Zurück zur Übersicht</a>';
}
else {
// Define your other categories in this array (can be IDs, slugs or names)
$product_cats = array('category5', 'category6', 'category7');
if ( has_term( $product_cats, 'product_cat', $product->get_id() ) ) {
$demo_url = get_post_meta( $product->get_id(), 'demo_url', true );
echo( '<a class="button-category" href="hier-der-zweite-Link">Zurück zur Übersicht</a>');
}
}
}
----------
Ist der Grafiker gut drauf, macht er einen Farbverlauf!
Geht nicht gibt's nicht. Alles geht. Nur der Frosch hüpft!
----------------------------------------------------
Oh Schreck, Oh Graus, ich fürcht' mich so
Es gibt ihn doch, den Grüffelo!