Filter Products Admin by Tag

add_filter( ‘woocommerce_product_filters’, ‘bbloomer_filter_by_custom_taxonomy_dashboard_products’ ); function bbloomer_filter_by_custom_taxonomy_dashboard_products( $output ) { global $wp_query; $output .= wc_product_dropdown_categories( array( ‘show_option_none’ => ‘Filter by product tag’, ‘taxonomy’ => ‘product_tag’, ‘name’ => ‘product_tag’, ‘selected’ => isset( $wp_query->query_vars[‘product_tag’] ) ? $wp_query->query_vars[‘product_tag’] : ”, ) ); return $output;…Continue reading

Display Tune Transaction ID in Admin for Order

add_action(‘woocommerce_admin_order_data_after_order_details’, ‘display_transaction_id_in_admin’); function display_transaction_id_in_admin($order){ $transaction_id = $order->get_meta(‘_tune_transaction_id’); if ($transaction_id) { echo ‘ Tune Transaction ID: ‘ . esc_html($transaction_id) . ‘ ‘; } }Continue reading

Bulk Remove Products from Categories

/** * @snippet Bulk Remove Product Categories @ WooCommerce Products Admin * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 8 * @community https://businessbloomer.com/club/ */ add_action( ‘woocommerce_product_bulk_edit_start’, ‘bbloomer_bulk_edit_remove_product_category’ ); function bbloomer_bulk_edit_remove_product_category() { ?> Delete CatContinue reading

Clean text

add_action(‘admin_footer’, function () { global $post; if (get_post_type($post) !== ‘shop_order’) { return; } $order = wc_get_order($post->ID); if (!$order) { return; } if ($order->get_payment_method() !== ‘linkmoney’) { return; } ?>Continue reading

Action Scheduler Tuning

add_filter( ‘action_scheduler_retention_period’, function ( $period ) { return 7 * DAY_IN_SECONDS; } ); add_filter( ‘action_scheduler_default_cleaner_statuses’, function ( $statuses ) { $statuses[] = ‘failed’; return $statuses; } ); add_filter( ‘action_scheduler_cleanup_batch_size’, function ( $batch_size ) { return 50; } ); function eg_increase_time_limit(…Continue reading