recherche

Maison  >  Questions et réponses  >  le corps du texte

Dans les paramètres des options de données de produits individuelles dans l'administrateur WooCommerce, ajoutez du contenu aux onglets personnalisés.

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粉477369269P粉477369269537 Il y a quelques jours477

répondre à tous(1)je répondrai

  • P粉805107717

    P粉8051077172023-07-22 09:56:50

    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

    répondre
    0
  • Annulerrépondre