How do I turn off the Shipping Notification in Marketpress?


We have a number of suppliers all of whom drop-ship our product orders, so when I choose Shipped on the Status, I actually mean that the order was sent/submitted to the Supplier, so I do not want the customer to get a shipping notification. How do I either 1) turn off the shipping notifications completely, or 2) have another Status Option that doesn't generate a notification - like Submitted. In any case, no notification should go out when I change the status from Paid to the next step which is submitting the order to our supplier for them to drop-ship it, but I do need to keep track of which orders have been sent to the supplier and which have not, so I need to be able to change the Status from Paid to something else. I guess I could just use Closed, but i was planning on using that Status once I'm notified that the Customer's products were all drop-shipped by the Suppliers. Any other suggestions are appreciated.



  • Hoang Ngo

    Hi Sherry,

    For turn off the shipping email, unfortunately the marketpress dont have any option for physics product.

    But we can still do this, because marketpress still use wp_mail to send email, so we can catch the email setting there, and change the "to address" to an email nerver exist. And this only work for client, admin still recive the shipping confirm email.

    For archive this, please add this code to your theme functions.php

    global $mp;
    if ( $mp instanceof MarketPress ) {
    	add_filter( 'wp_mail', 'check_does_shipping_email' );
    	function check_does_shipping_email( $args ) {
    		$arg = array(
    				'to'          => $args['to'],
    				'subject'     => $args['subject'],
    				'message'     => $args['message'],
    				'headers'     => $args['headers'],
    				'attachments' => $args['attachments']
    		global $mp;
    		//get the shipping subject
    		$shipping_subject = $mp->get_setting( 'email->shipped_order_subject' );
    		$shipping_subject = trim( str_replace( '(ORDERID)', '', $shipping_subject ) );
    		if ( stristr( $args['subject'], $shipping_subject ) ) {
    			//so this is shipping email
    			//just change the to to nothing
    			$arg['to'] = 'noemaillikthis@nodomainlikethis.noextlikethis';
    			return $arg;
    		return $args;

    About the #2, I'm sorry but currently our plugin dont support this feature. And this feature will requires extensive custom development. Fortunately, we have a job board here , so you can post a job and hire a quality developer who can do this for you.

    I also will ask the developer, to check does we have any plan for this feature in the future.

    Best Regards

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.