woocommerce пользовательские поля
-
Добрый день. Подскажите пожалуйста, создал 3 пользовательских поля для категории таким образом.
Первое
add_action( ‘product_cat_edit_form_fields’, ‘wpm_taxonomy_edit_meta_field’, 10, 2 );
function wpm_taxonomy_edit_meta_field($term) {
$t_id = $term->term_id;
$term_meta = get_option( «taxonomy_$t_id» );
$content = $term_meta[‘custom_term_meta’] ? wp_kses_post( $term_meta[‘custom_term_meta’] ) : »;
$settings = array( ‘textarea_name’ => ‘term_meta[custom_term_meta]’ );
?>
<tr class=»form-field»>
<th scope=»row» valign=»top»><label for=»term_meta[custom_term_meta]»>Текст над товарами</label></th>
<td>
<?php wp_editor( $content, ‘product_cat_details’, $settings ); ?></td>
</tr>
<?php
}add_action( ‘edited_product_cat’, ‘save_taxonomy_custom_meta’, 10, 2 );
add_action( ‘create_product_cat’, ‘save_taxonomy_custom_meta’, 10, 2 );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] = wp_kses_post( stripslashes($_POST[‘term_meta’][$key]) );
}
}update_option( «taxonomy_$t_id», $term_meta );
}
}Третье
add_action( ‘product_cat_edit_form_fields’, ‘wpm_taxonomy_edit_meta_field3’, 10, 4 );
function wpm_taxonomy_edit_meta_field3($term) {
$t_id3 = $term->term_id;
$term_meta3 = get_option( «taxonomy_$t_id3″ );
$content = $term_meta3[‘custom_term_meta3’] ? wp_kses_post( $term_meta3[‘custom_term_meta3’] ) : »;
$settings = array( ‘textarea_name’ => ‘term_meta3[custom_term_meta3]’ );
?>
<tr class=»form-field»>
<th scope=»row» valign=»top»><label for=»term_meta3[custom_term_meta3]»>Картинка</label></th>
<td>
<?php wp_editor( $content, ‘product_cat_details’, $settings ); ?></td>
</tr>
<?php
}add_action( ‘edited_product_cat’, ‘save_taxonomy_custom_meta3’, 10, 4 );
add_action( ‘create_product_cat’, ‘save_taxonomy_custom_meta3’, 10, 4 );function save_taxonomy_custom_meta3( $term_id ) {
if ( isset( $_POST[‘term_meta3’] ) ) {
$t_id3 = $term_id;
$term_meta3 = get_option( «taxonomy_$t_id3» );
$cat_keys3 = array_keys( $_POST[‘term_meta3’] );
foreach ( $cat_keys3 as $key3 ) {
if ( isset ( $_POST[‘term_meta3’][$key3] ) ) {
$term_meta3[$key3] = wp_kses_post( stripslashes($_POST[‘term_meta3’][$key3]) );
}
}update_option( «taxonomy_$t_id3», $term_meta3 );
}
}Поля появились, и на страницах сайта отдают информацию. Но в админке, например редактор есть только у первого поля. А при попытке добавить изображение во втором и третьем поле, то оно появляется только в первом.
- Тема «woocommerce пользовательские поля» закрыта для новых ответов.