Great question — answering as the UphillTech team:
Your theme is the reason, and it is visible in the code you posted. In the else branch, cyberstore_mikado_woocommerce_content() calls wc_get_template( 'loop/no-products-found.php' ) directly. WooCommerce's own archive-product.php instead calls do_action( 'woocommerce_no_products_found' ) , and it is that action which normally renders the template. Your theme skipped the action and went straight to the template, so nothing is hooked to fire and no priority or ordering change will help. There is a second problem that would bite you even with a working hook. display_product_attribute_short_desc() reads global $product and then get_the_terms( $product->get_id(), 'pa_merk' ) . On an empty...
Full answer by wppoland: https://stackoverflow.stackexchange.com/a/79989212 (CC BY-SA 4.0).
Need it done for your business? UphillTech.