public static function standard_fields($with_attr = true) { $fields = array('image' => __('Image', 'yith-woocommerce-compare'), 'title' => __('Title', 'yith-woocommerce-compare'), 'price' => __('Price', 'yith-woocommerce-compare'), 'add-to-cart' => __('Add to cart', 'yith-woocommerce-compare'), 'description' => __('Description', 'yith-woocommerce-compare'), 'stock' => __('Availability', 'yith-woocommerce-compare')); if ($with_attr) { $fields = array_merge($fields, YITH_Woocompare_Helper::attribute_taxonomies()); } return $fields; }
/** * Create new Woocommerce admin field: checkboxes * * @access public * @param array $value * @return void * @since 1.0.0 */ public function admin_fields_attributes($value) { $fields = array_merge($this->default_fields, YITH_Woocompare_Helper::attribute_taxonomies()); $all = array(); foreach (array_keys($fields) as $field) { $all[$field] = true; } $checkboxes = get_option($value['id'], $value['default'] == 'all' ? $all : array()); // add fields that are not still saved $checkboxes = wp_parse_args($checkboxes, $all); //$checkboxes = array_merge( $checkboxes, array_diff_assoc( $checkboxes, $all ) ); ?> <tr valign="top"> <th scope="row" class="titledesc"> <label for="<?php echo esc_attr($value['id']); ?> "><?php echo $value['name']; ?> </label> </th> <td class="forminp attributes"> <p class="description"><?php echo $value['desc']; ?> </p> <ul class="fields"> <?php foreach ($checkboxes as $slug => $checked) { ?> <li><label><input type="checkbox" name="<?php echo $value['id']; ?> []" id="<?php echo $value['id']; ?> _<?php echo $slug; ?> " value="<?php echo $slug; ?> "<?php checked($checked); ?> /> <?php echo $fields[$slug]; ?> </label></li><?php } ?> </ul> <input type="hidden" name="<?php echo $value['id']; ?> _positions" value="<?php echo implode(',', array_keys($checkboxes)); ?> " /> </td> </tr> <?php }