Для вывода мета-полей на странице редактирования категорий товаров используем хук product_cat_edit_form_fields.
Редактируем файл functions.php
/* Мета-поля для категорий товаров */
add_action("product_cat_edit_form_fields", 'NAME_meta_product_cat');
function NAME_meta_product_cat($term){?>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок (title)</label></th>
<td><input type="text" name="NAME[title]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'title', 1 ) ) ?>"><br /><p class="description">Не более 60 знаков, включая пробелы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Краткое описание (description)</label></th>
<td><input type="text" name="NAME[description]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'description', 1 ) ) ?>"><br /><p class="description">Краткое описание (description)</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок h1</label></th>
<td><input type="text" name="NAME[h1]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'h1', 1 ) ) ?>"><br /><p class="description">Заголовок страницы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Ключевые слова</label></th>
<td><input type="text" name="NAME[keywords]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'keywords', 1 ) ) ?>"><br /><p class="description">Ключевые слова (keywords)</p>
</td>
</tr>
<?php}
На странице редактирования категорий товаров появится четыре новых поля:
Теперь сохраняем данные в БД используя еще одну функцию
Редактируем файл functions.php
/* Мета-поля для категорий товаров */
add_action("product_cat_edit_form_fields", 'NAME_meta_product_cat');
function NAME_meta_product_cat($term){?>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок (title)</label></th>
<td><input type="text" name="NAME[title]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'title', 1 ) ) ?>"><br /><p class="description">Не более 60 знаков, включая пробелы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Краткое описание (description)</label></th>
<td><input type="text" name="NAME[description]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'description', 1 ) ) ?>"><br /><p class="description">Краткое описание (description)</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок h1</label></th>
<td><input type="text" name="NAME[h1]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'h1', 1 ) ) ?>"><br /><p class="description">Заголовок страницы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Ключевые слова</label></th>
<td><input type="text" name="NAME[keywords]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'keywords', 1 ) ) ?>"><br /><p class="description">Ключевые слова (keywords)</p>
</td>
</tr>
<?php}
На странице редактирования категорий товаров появится четыре новых поля:
Теперь сохраняем данные в БД используя еще одну функцию
/* Сохранение данных в БД */ add_action('edited_product_cat', 'NAME_save_meta_product_cat'); add_action('create_product_cat', 'mayak_save_meta_product_cat'); function NAME_save_meta_product_cat($term_id){ if (!isset($_POST['NAME'])) return; $NAME = array_map('trim', $_POST['NAME']); foreach($NAME as $key => $value){ if(empty($value)){ delete_term_meta($term_id, $key); continue; } update_term_meta($term_id, $key, $value); } return $term_id; }