suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Fügen Sie in den einzelnen Produktdaten-Optionseinstellungen im WooCommerce-Adminbereich Inhalte zu benutzerdefinierten Registerkarten hinzu.

Ich habe im Bereich „Produktdatenoptionen“ eine benutzerdefinierte Registerkarte erstellt, weiß aber nicht, wie ich Inhalte darin schreiben soll. Ich habe bereits einen Code, der Inventaroptionen (Kontrollkästchen, Text usw.) mithilfe von Hooks druckt. add_action('woocommerce_product_options_sku','add_leadlovers_custom_fields' );

Ich habe diesen Tab mit diesem Code generiert.

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' );

Aber welchen Hook sollte ich verwenden, um „woocommerce_product_options_sku“ zu ersetzen und Optionen auf meiner benutzerdefinierten Registerkarte zu schreiben?

P粉477369269P粉477369269568 Tage vor504

Antworte allen(1)Ich werde antworten

  • P粉805107717

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

    这是缺少的钩子函数,用于显示内容(和保存字段值)以供您的附加产品设置选项卡 "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 );
    }
    

    这样就行了

    Antwort
    0
  • StornierenAntwort