if ( function_exists(‘wc_get_container’) && ! wc_get_container()->get(\Automattic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController::class)->custom_orders_table_usage_is_enabled() ) { // LEGACY ORDER TABLE SNIPPET HERE add_filter(‘manage_edit-shop_order_columns’, function($columns) { $new_columns = []; foreach ($columns as $key => $label) { $new_columns[$key] = $label; if ($key === ‘order_number’) { $new_columns[‘internal_name’] = ‘Internal Name’; }…Continue reading
add_action(‘woocommerce_email_after_order_table’, ‘wcv_add_vendor_info_to_email’, 20, 4); function wcv_add_vendor_info_to_email($order, $sent_to_admin, $plain_text, $email) { if (!class_exists(‘WCV_Vendors’)) { return; // WC Vendors not active } // Collect vendor IDs from order items $vendor_ids = array(); foreach ($order->get_items() as $item) { $product_id = $item->get_product_id(); $vendor_id =…Continue reading
add_action(‘wp_ajax_migrate_loyalty_to_credits’, function() { // Only allow admin users if (!current_user_can(‘manage_options’)) { wp_send_json_error(‘Unauthorized access’, 403); } global $wpdb; $loyalty_table = $wpdb->prefix . ‘acfw_loyalprog_entries’; $credits_table = $wpdb->prefix . ‘acfw_store_credits’; // Get the points-to-store-credits conversion ratio $conversion_ratio = floatval(get_option(‘acfw_loyalprog_cost_points_ratio’, 1)); // Step 1:…Continue reading
function my_produkt_detail($ean, $field_path = ”, $default = ”) { static $cache = array(); try { if (empty($ean) || !is_string($ean)) { return $default; } if (!isset($cache[$ean])) { $detail_url = “https://db.ecoinform.de/ecodb.php/produktdetail?partner=2a3ea8f338618ff8&lang=DE&ean=” . urlencode($ean); $response = wp_remote_get($detail_url, array( ‘timeout’ => 30, ‘headers’ =>…Continue reading
function my_produkt_detail($ean, $field_path = ”, $default = ”) { static $cache = array(); try { if (empty($ean) || !is_string($ean)) { return $default; } if (!isset($cache[$ean])) { $detail_url = “https://db.ecoinform.de/ecodb.php/produktdetail?partner=2a3ea8f338618ff8&lang=DE&ean=” . urlencode($ean); $response = wp_remote_get($detail_url, array( ‘timeout’ => 30, ‘headers’ =>…Continue reading
add_filter( ‘woocommerce_format_dimensions’, ‘rd_format_dimensions_with_labels’, 10, 2 ); function rd_format_dimensions_with_labels( $dimension_string, $dimensions ) { if ( empty( $dimensions ) || ! is_array( $dimensions ) ) { return $dimension_string; } $labels = [ ‘L’, ‘W’, ‘H’ ]; $values = array_values( $dimensions ); $unit…Continue reading