Ich habe Code hinzugefügt, um eine Schaltfläche “Produktbeispiel anzeigen” auf der Woocommerce-Seite anzuzeigen. Die Schaltfläche funktioniert korrekt; Ich möchte jedoch, dass die Schaltfläche nur für eine bestimmte Kategorie angezeigt wird. Die Kategorie, die wir haben, ist “E-Kurse”.
Hier ist der Code, den ich für die Schaltfläche verwendet habe:
add_action('woocommerce_after_add_to_cart_button','custom_button_by_categories');
function custom_button_by_categories() {
global $post;
$demoslug = $post->post_name;
$demourl = get_bloginfo('url').'/courses/'.$demoslug."https://stackoverflow.com/";
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>';
}
Vielen Dank für jede Hilfe, die Sie leisten können.
Sie können es mit tun has_term()
WordPress-Funktion (wo Sie Ihre Produktkategorie definieren müssen).
Sie können verwenden woocommerce_simple_add_to_cart
mit einer Priorität über 30 auf diese Weise:
add_action( 'woocommerce_simple_add_to_cart', function(){
global $product, $post;
// Set HERE your product category (ID, name or slug)
if ( has_term( 'e-courses', 'product_cat', $post->ID ) ){
$demourl = get_bloginfo('url').'/courses/'.esc_attr($post->post_name)."https://stackoverflow.com/";
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>';
}
}, 31 );
Oder auch mit Ihrem Hook:
add_action('woocommerce_after_add_to_cart_button','custom_button_by_categories');
function custom_button_by_categories() {
// Set HERE your product category (ID, name or slug)
if ( has_term( 'e-courses', 'product_cat', $post->ID ) ){
global $post;
$demoslug = $post->post_name;
$demourl = get_bloginfo('url').'/courses/'.$demoslug."https://stackoverflow.com/";
$demotitle = esc_attr($post->post_title);
echo '<a href="'.$demourl.'" target="_blank" class="button sample">View Product Sample</a>';
}
}
Code geht in die function.php-Datei Ihres aktiven Child-Themes (oder Themes) oder auch in jede Plugin-Datei.
Getestet und funktioniert.