• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Передать переменную в $meta_key:string для update_post_meta

infernal944

Новичок
Всем привет!

Нужно для woocommerce в настройках товара во вкладке атрибуты добавить еще одну галочку рядом с https://i.imgur.com/LgYhn4G.png. Создать чекбокс и дать ему нужный индекс у меня получилось. Код такой:

function woo_add_custom_general_fields($attribute) {
global $woocommerce, $post, $attribute_name, $attribute_ID;
$attribute_name = $attribute->get_name();
$attribute_ID = $attribute->get_ID();
?>
<tr>
<td>
<?php
woocommerce_wp_checkbox(
array(
'id' => $attribute_name.'-'.$attribute_ID,
'wrapper_class' => 'show_if_simple',
'description' => __( 'Показать выпадающий список на странице товара', 'woocommerce' ),
)
);
?>
<?php echo $attribute_name.'-'.$attribute_ID; ?>
</td>
</tr>
<?php
}

Но сохранить так как хотелось бы не получается. Сейчас сохраняет так:

function woo_add_custom_general_fields_save( $post_id ){
global $woocommerce, $post, $attribute_name, $attribute_ID;
// Checkbox
$woocommerce_checkbox = $_POST['pa_leather_series_manufacturer-4'] ? 'yes' : 'no';
update_post_meta( $post_id, 'pa_leather_series_manufacturer-4', $woocommerce_checkbox );
$woocommerce_checkbox = $_POST['pa_color-1'] ? 'yes' : 'no';
update_post_meta( $post_id, 'pa_color-1', $woocommerce_checkbox );
$woocommerce_checkbox = $_POST['pa_foot_and_back_of_the_head-2'] ? 'yes' : 'no';
update_post_meta( $post_id, 'pa_foot_and_back_of_the_head-2', $woocommerce_checkbox );
$woocommerce_checkbox = $_POST['pa_sleeping_area-7'] ? 'yes' : 'no';
update_post_meta( $post_id, 'pa_sleeping_area-7', $woocommerce_checkbox );

}

Вопрос - как мне заменить скажем "pa_leather_series_manufacturer-4" такой вид $attribute_name.'-'.$attribute_ID? Если так делаю то сохранение не происходит.
Всем спасибо за помощь!)
 
Сверху Снизу