• Resolved dnadog

    (@dnafritts)


    I see that there is a code snippet for Woocommerce subscriptions, which is very similar, but I need support for memberships so that I can export metadata about expiration date, etc. Any help would be greatly appreciated.

    WooCommerce Membership Version is 1.8.8
    Advanced Order Export Version is 1.4.2

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author algol.plus

    (@algolplus)

    hi

    Unfortunately https://woocommerce.com/products/woocommerce-memberships/ is not free .

    Can you create ticket and attach the plugin as.zip fie ?

    Could you describe what information do you need too ( except expiration date) ?

    thanks, Alex

    Plugin Author algol.plus

    (@algolplus)

    This code adds membership fields to export

    class WOE_Memberships {
    		var $fields = array("plan","status","since","expires");
            function __construct() {
    			
    			add_filter('woe_get_order_fields', function ($fields) {
    				foreach($this->fields  as $f) {
    					$fields['membership_'.$f] = array( 'label' => "Member $f", 'colname' => "Member $f", 'checked' => 1 );
    					
    					add_filter('woe_get_order_value_membership_'.$f, function ($value,$order,$field) {
    						return isset($this->data[$field]) ? $this->data[$field] : $value;	
    					},10,3);
    				}	
    				return $fields;
    			});
    			
    			// rebuild for each order 
    			add_filter('woe_order_export_started', function ($order_id) {
    				// each order can create many memberships!
    				$this->data = array();
    				foreach($this->fields as $f) 
    					$this->data[$f] = array();
    					
    				//gather details 	
    				$memberships = wc_memberships()->get_user_memberships_instance()->get_user_membership_by_order_id($order_id);
    				foreach ($memberships as $m) {
    					$this->data['plan'][] = $m->get_plan()->get_name();
    					$this->data['status'][] = $m->get_status();
    					$this->data['since'][] = $m->get_start_date();
    					$this->data['expires'][] = $m->get_end_date();
    				}
    				
    				// convert to multiline cells
    				foreach($this->data as $f=>$v) 
    					$this->data['membership_'.$f] = join("\n", $v );
    				return $order_id;
    			});
            }
    }             
    new WOE_Memberships();
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Do you have support for Woocommerce Memberships’ is closed to new replies.