Maison > Questions et réponses > le corps du texte
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粉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