2016-05-12 11 views
0

Ich habe eine Woocommerce-Website, die Produkte innerhalb von Kategorien gruppiert und auf der Startseite des Shops anzeigt.Wie füge ich den Kategorien in Woocommerce benutzerdefinierte Felder hinzu?

Ich möchte benutzerdefinierte Felder zu den Kategorien hinzufügen.

Theorie: Auf der Homepage ist ein Suchformular, der Benutzer gibt ihre Postleitzahl ein und die Kategorien mit den übereinstimmenden Postleitzahldetails (die innerhalb der benutzerdefinierten Felder angegeben werden) werden angezeigt.
Ich brauche nicht die benutzerdefinierten Felder auf der Shop-Seite anzuzeigen, ich muss nur die passenden Postleitzahlen im Backend anwenden können.

Bitte weiß jemand wie ich das machen kann?

Ich habe seit Ewigkeiten daran gearbeitet und kann keine Lösung finden.
Ein riesiges Dankeschön alle Antworten oder Vorschläge im Voraus.
P.S: Ich möchte nicht ein Plugin verwenden, nur php/html/javascript (& anderen Code) bitte.

+0

Mögliche Duplikate von [Wie benutzerdefinierte Spalte im Kategorieraster der benutzerdefinierten Beitragstyp hinzufügen?] (Http://stackoverflow.com/questions/36331168/how-to-add-custom-column-in-category-grid- von-custom-post-type) –

+1

http://www.wpmusketeer.com/add-a-wysiwyg-field-to-woocommerce-product-category-page/ Dies wird Ihnen helfen. –

Antwort

1

Fügen Sie den folgenden Code in Ihre Themes function.php hinzu, um ein benutzerdefiniertes Feld für Ihre Produktkategorien-Taxonomie zu erstellen.

// Add term page 
function custom_product_taxonomy_add_new_meta_field() { 
    // this will add the custom meta field to the add new term page 
    ?> 
    <div class="form-field"> 
     <label for="term_meta[custom_term_meta]"><?php _e('Postalcode', 'my-text-domain'); ?></label> 
     <input type="text" name="term_meta[custom_term_meta]" id="term_meta[custom_term_meta]" value=""> 
     <p class="description"><?php _e('Enter a value for this field','my-text-domain'); ?></p> 
    </div> 
<?php 
} 
add_action('product_cat_add_form_fields', 'custom_product_taxonomy_add_new_meta_field', 10, 2); 
// Edit term page 
function custom_product_taxonomy_edit_meta_field($term) { 

    // put the term ID into a variable 
    $t_id = $term->term_id; 

    // retrieve the existing value(s) for this meta field. This returns an array 
    $term_meta = get_option("taxonomy_$t_id"); ?> 
    <tr class="form-field"> 
    <th scope="row" valign="top"><label for="term_meta[custom_term_meta]"><?php _e('Postalcode', 'my-text-domain'); ?></label></th> 
     <td> 
      <input type="text" name="term_meta[custom_term_meta]" id="term_meta[custom_term_meta]" value="<?php echo esc_attr($term_meta['custom_term_meta']) ? esc_attr($term_meta['custom_term_meta']) : ''; ?>"> 
      <p class="description"><?php _e('Enter a value for this field','my-text-domain'); ?></p> 
     </td> 
    </tr> 
<?php 
} 
add_action('product_cat_edit_form_fields', 'custom_product_taxonomy_edit_meta_field', 10, 2); 
// Save extra taxonomy fields callback function. 
function save_taxonomy_custom_meta($term_id) { 
    if (isset($_POST['term_meta'])) { 
     $t_id = $term_id; 
     $term_meta = get_option("taxonomy_$t_id"); 
     $cat_keys = array_keys($_POST['term_meta']); 
     foreach ($cat_keys as $key) { 
      if (isset ($_POST['term_meta'][$key])) { 
       $term_meta[$key] = $_POST['term_meta'][$key]; 
      } 
     } 
     // Save the option array. 
     update_option("taxonomy_$t_id", $term_meta); 
    } 
} 
add_action('edited_product_cat', 'save_taxonomy_custom_meta', 10, 2); 
add_action('create_product_cat', 'save_taxonomy_custom_meta', 10, 2); 

Sie können dieses benutzerdefinierte Feld zusammen mit Kategorien speichern. Sie können dieses benutzerdefinierte Feld für Ihre Filtration verwenden.

+0

Ich weiß nicht, was vor sich geht, aber keiner dieser Vorschläge funktioniert. –

+0

können Sie benutzerdefinierte Feld (Postleitzahl) mit diesem Code innerhalb Woocommerce Produktkategorien Taxonomie erstellen. – purvik7373

+0

Indem ich buchstäblich eine Kopie in meine functions.php-Datei kopiere? –