Dans les paramètres des options de données de produits individuelles dans l'administrateur WooCommerce, ajoutez du contenu aux onglets personnalisés.
P粉477369269
P粉477369269 2023-07-21 15:47:05
0
1
464

J'ai créé un onglet personnalisé sur le panneau d'options des données produit, mais je ne sais pas comment y écrire du contenu. J'ai déjà un code qui imprime les options d'inventaire (cases à cocher, texte, etc.) à l'aide de hooks. add_action('woocommerce_product_options_sku','add_leadlovers_custom_fields' );

J'ai généré cet onglet en utilisant ce code.

function adicionar_guia_leadlovers($tabs) {
    $tabs['guia_leadlovers'] = array(
        'label'    => __( 'LeadLovers', 'text-domain' ),
        'target'   => 'leadlovers_product_data',
        'class'    => array( 'show_if_simple', 'show_if_variable' ),
    );
    return $tabs;
}
add_filter( 'woocommerce_product_data_tabs', 'adicionar_guia_leadlovers' );

Mais quel hook dois-je utiliser pour remplacer « woocommerce_product_options_sku » et écrire des options sur mon onglet personnalisé ?

P粉477369269
P粉477369269

répondre à tous(1)
P粉805107717

Il s'agit de la fonction de hook manquante pour afficher le contenu (et enregistrer les valeurs des champs) à utiliser par l'onglet des paramètres de votre produit complémentaire "LeadLovers" :

add_filter( 'woocommerce_product_data_tabs', 'add_leadlovers_guide_product_tab' );
function add_leadlovers_guide_product_tab($tabs) {
    $tabs['leadlovers_guide'] = array(
        'label'    => __( 'LeadLovers', 'text-domain' ),
        'target'   => 'leadlovers_product_data',
        'class'    => array( 'show_if_simple', 'show_if_variable' ),
    );
    return $tabs;
}

// Display the content
add_action( 'woocommerce_product_data_panels', 'display_readlovers_guide_product_data_tab_content' );
function display_readlovers_guide_product_data_tab_content() {
    global $product_object;

    echo '<div id="leadlovers_product_data" class="panel woocommerce_options_panel">
    <div class="options_group">';

    ## ---- Content Start ---- ##

    echo '<p>This is your LeadLovers content for the product "<strong>'.$product_object->get_name().'</strong>"…</p>';

    woocommerce_wp_text_input( array(
        'id'          => '_leadlovers',
        'value'       => $product_object->get_meta('_leadlovers'),
        'label'       => __('LeadLovers field', 'woocommerce'),
        'placeholder' => '',
        'description' => __('LeadLovers description text.', 'woocommerce'),
    ));

    ## ---- Content End  ---- ##

    echo '</div></div>';
}

// Save field values
add_action( 'woocommerce_admin_process_product_object', 'save_leadlovers_guide_fields_values' );
function save_leadlovers_guide_fields_values( $product ) {
    $leadlovers = isset( $_POST['_leadlovers'] ) ? sanitize_text_field($_POST['_leadlovers']) : '';
    $product->update_meta_data( '_leadlovers', $leadlovers );
}

C'est ça

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal