if ( ! defined( ‘ABSPATH’ ) ) { exit; } add_filter( ‘automatewoo/actions’, ‘rd_aw_register_customer_add_to_blacklist_manager_whitelist_action’ ); function rd_aw_register_customer_add_to_blacklist_manager_whitelist_action( $actions ) { if ( ! class_exists( ‘\AutomateWoo\Action’ ) ) { return $actions; } if ( ! class_exists( ‘RD_AW_Action_Customer_Add_To_Blacklist_Manager_Whitelist’ ) ) { class RD_AW_Action_Customer_Add_To_Blacklist_Manager_Whitelist…Continue reading
if ( ! function_exists( ‘rd_aw_blacklist_manager_normalize_email’ ) ) { /** * Normalise an email using Blacklist Manager’s active normaliser where available. * * @param mixed $email Raw email address. * @return string */ function rd_aw_blacklist_manager_normalize_email( $email ) { $email = is_string(…Continue reading
if ( ! defined( ‘ABSPATH’ ) ) { exit; } add_filter( ‘automatewoo/rules/includes’, ‘rd_aw_register_subscription_is_customers_most_recent_rule’ ); /** * Register custom AutomateWoo subscription rules. * * @param array $rules AutomateWoo rules. * @return array */ function rd_aw_register_subscription_is_customers_most_recent_rule( $rules ) { if ( !…Continue reading
add_filter( ‘automatewoo/rules/includes’, ‘rd_aw_register_customer_klaviyo_tags_rule’ ); /** * Register custom AutomateWoo customer rules. * * @param array $rules AutomateWoo rules. * @return array */ function rd_aw_register_customer_klaviyo_tags_rule( $rules ) { if ( ! class_exists( ‘\AutomateWoo\Rules\Rule’ ) ) { return $rules; } if (…Continue reading
add_filter( ‘automatewoo/rules/includes’, ‘rd_aw_register_order_is_customers_most_recent_rule’ ); /** * Register custom AutomateWoo rules. * * @param array $rules AutomateWoo rules. * @return array */ function rd_aw_register_order_is_customers_most_recent_rule( $rules ) { if ( ! class_exists( ‘\AutomateWoo\Rules\Abstract_Bool’ ) || ! function_exists( ‘wc_get_orders’ ) ) { return…Continue reading
/** * Shane Cakes – Complete WooCommerce Account Dashboard (With Animated Delivery Bike Tracking) */ // 1. Keep default menu structure intact add_filter( ‘woocommerce_account_menu_items’, ‘shane_custom_my_account_menu_order’ ); function shane_custom_my_account_menu_order( $menu_links ) { return $menu_links; } // 2. Hook directly…Continue reading
function rd_aw_register_delete_custom_field_actions() { if ( ! class_exists( ‘\AutomateWoo\Action’ ) ) { return; } if ( ! class_exists( ‘RD_AW_Action_Delete_Custom_Field_Base’, false ) ) { abstract class RD_AW_Action_Delete_Custom_Field_Base extends \AutomateWoo\Action { public function load_fields() { $meta_key = ( new \AutomateWoo\Fields\Text() ) ->set_name( ‘meta_key’…Continue reading
if ( ! defined( ‘ABSPATH’ ) ) { return; } if ( ! class_exists( ‘WooCommerce’ ) ) { return; } if ( ! function_exists( ‘wcs_get_subscription’ ) ) { return; } function pm_exclude_blacklist_suspect_meta_from_subscription_data( $data ) { if ( ! is_array( $data…Continue reading
function rd_refund_button_has_transaction_id( $order ) { return $order instanceof WC_Order && ” !== trim( (string) $order->get_transaction_id() ); } function rd_refund_button_should_be_hidden( $order ) { return $order instanceof WC_Order && ! rd_refund_button_has_transaction_id( $order ) && $order->has_status( array( ‘new’, ‘auto-draft’, ‘draft’, ‘checkout-draft’, ‘pending’, ‘failed’,…Continue reading