0

Comment voulez-vous obtenir des onglets de produit par un ID de produit?Obtenir des onglets de produit par ID de produit dans WooCommerce

Dans le seul produit/onglets/tabs.php existe le code suivant:

$tabs = apply_filters('woocommerce_product_tabs', array()); 

Je suppose que cela devient onglets basé sur le produit actuel? Cependant, j'aimerais aussi avoir des étiquettes pour d'autres produits ici.

Actuellement, j'ai un produit qui est vendu en simple. Ensuite, j'ai un autre produit qui vend le même article mais sous forme d'abonnement. J'ai donc créé un champ personnalisé où je dis à WooCommerce quel produit unique c'est un abonnement.

Et maintenant, je souhaite également afficher les onglets d'un seul produit sur le produit d'abonnement, donc je n'ai pas besoin de le taper deux fois dans la zone d'administration.

Mon expérimentation ont abouti à ceci:

$singleProduct = get_field('single_product'); 

if ($singleProduct->ID) : 
    $tabs = 'How do I get the tabs of this product???'; 
endif; 
+0

dire si un A' 'produit ne pas tout produit de souscription alors serait' produit A' aura que languette? –

+0

@RaunakGupta correct, et ses onglets devraient être affichés sur le produit B qui est la version d'abonnement du produit A. Ceci étant donné qu'un produit ne peut être à la fois un produit unique et un produit d'abonnement à la fois. –

Répondre

-1

d'abord, vous devez ajouter un onglet de produits personnalisés en page simple alors vous devez interroger le contenu que vous voulez afficher dans cet onglet.

Voici le code qui vous aidera:

add_filter('woocommerce_product_tabs', 'woo_new_product_tab'); 

function woo_new_product_tab($tabs) 
{ 
    global $product; 
    //get current product ID 
    $product_id = $product->get_ID(); 
    if (/*add you condition to determine current product will have custom tab or not */) 
    { 
     // Adds the new tab 
     $tabs['test_tab'] = array(
      'title' => __('New Product Tab', 'woocommerce'), 
      'priority' => 50, 
      'callback' => 'wh_woo_new_product_tab_content' 
     ); 
    } 
    return $tabs; 
} 

function wh_woo_new_product_tab_content() 
{ 
    global $product; 
    //get current product ID 
    $product_id = $product->get_ID(); 
    // Now you have the ID you can apply your custom logic 
} 

Référence: Add a custom tab

+1

Je ne souhaite pas ajouter d'onglets personnalisés. Je veux juste afficher d'autres onglets de produits. –

+0

Par exemple, sur l'ID de produit 11, je souhaite afficher les onglets de l'ID de produit 22 puisque l'ID de produit 22 est la version de produit unique de l'ID de produit 11, qui est le produit de l'abonnement. –

+0

@JimmieJohansson: oui alors vous devez également créer un onglet dans la page d'identification du produit 11 et vous devez avoir un drapeau qui décide que # 22 est le produit dont les données doivent être récupérées, vous pouvez aller chercher les données de # 22 et les afficher dans onglet personnalisé de la page produit n ° 11 –