2017-09-05 4 views
1

Ich habe ein benutzerdefiniertes Feld in meine WooCommerce Produkte wie in dieser Frage/Antwort hinzugefügt:
Display a custom product field before short description in WooCommerce.Fügen Sie ein Produkt benutzerdefiniertes Feld zu Admin Produkt bulk Bearbeitungsformular in WooCommerce

Ist es möglich, dieses benutzerdefinierte Feld der Produkt Bulk-Bearbeitungs-Spezialseite hinzuzufügen (Zugriff über die Listenseite Admin-Produkte)?

+0

was meinst du mit Masse? – Reigel

+0

@Reigel Ich wähle mehrere Produkte aus und wähle Bearbeiten aus dem horizontalen Menü. Sie schauen: 1. https://ibb.co/jqd0wv - wählen Sie und klicken Sie auf "Bearbeiten". 2 - Ich kann mehrere Produkte gleichzeitig bearbeiten - https://ibb.co/cT0KpF – interlaw

+0

suche google nach 'wordpress bulk action tut'. – Reigel

Antwort

2

Ja, es ist möglich, Bulk-Bearbeitung Produkte für Ihr benutzerdefiniertes Feld '_text_field'(wie in Ihrer verknüpften Frage/Antwort).

Sie können dieses benutzerdefinierte Feld am Anfang oder am Ende der Bearbeitungsseite hinzufügen.

  • Für den Anfang Sie diesen Hook wird verwenden: woocommerce_product_bulk_edit_start
  • Für das Ende dieses: woocommerce_product_bulk_edit_end

Der Code (das benutzerdefinierte Feld hier am Anfang) :

// Add a custom field to product bulk edit special page 
add_action('woocommerce_product_bulk_edit_start', 'custom_field_product_bulk_edit', 10, 0); 
function custom_field_product_bulk_edit() { 
    ?> 
     <div class="inline-edit-group"> 
      <label class="alignleft"> 
       <span class="title"><?php _e('T. dostawy', 'woocommerce'); ?></span> 
       <span class="input-text-wrap"> 
        <select class="change_t_dostawy change_to" name="change_t_dostawy"> 
        <?php 
         $options = array(
          '' => __('— No change —', 'woocommerce'), 
          '1' => __('Change to:', 'woocommerce'), 
         ); 
         foreach ($options as $key => $value) { 
          echo '<option value="' . esc_attr($key) . '">' . $value . '</option>'; 
         } 
        ?> 
        </select> 
       </span> 
      </label> 
      <label class="change-input"> 
       <input type="text" name="_t_dostawy" class="text t_dostawy" placeholder="<?php _e('Enter Termin dostawy', 'woocommerce'); ?>" value="" /> 
      </label> 
     </div> 
    <?php 
} 

// Save the custom fields data when submitted for product bulk edit 
add_action('woocommerce_product_bulk_edit_save', 'save_custom_field_product_bulk_edit', 10, 1); 
function save_custom_field_product_bulk_edit($product){ 
    if ($product->is_type('simple') || $product->is_type('external')){ 
     $product_id = method_exists($product, 'get_id') ? $product->get_id() : $product->id; 

     if (isset($_REQUEST['_t_dostawy'])) 
      update_post_meta($product_id, '_text_field', sanitize_text_field($_REQUEST['_t_dostawy'])); 
    } 
} 

Der Code wird in der Datei function.php Ihres aktiven untergeordneten Themas (oder Themas) oder auch in eine beliebige Plugin-Datei geschrieben.

Dieser Code wurde getestet und funktioniert. Sie werden diese:

enter image description here

+0

Danke !!! :) – interlaw

Verwandte Themen