Developers

  1. Modify Css / Styles / Layout
    1. Layout (Menu Items, General)
    2. Frontend Css
    3. Admin Css
  2. Templates
    1. Pages
      1. page.order.php
      2. page.confirm-order.php
      3. page.processing.php
      4. page.thankyou.php
      5. page.cancelled.php
      6. page.purchase-history.php
    2. Order
      1. itemised.php
      2. summary.php
      3. transaction_details.php
    3. Global
      1. orderinfo.php (Widget)
      2. openingtimes.php (Widget)
      3. additives.php (Widget)
      4. navigation.list.php (Widget)
      5. navigation.dropdown.php (Widget)
      6. search.php (Widget)
      7. totals.php (Widget)
      8. pickup_choice.php (Mixed)
      9. login.php (Module)
      10. profile.register.php (Module)
      11. profile.update.php (Module)
      12. pages.pickup_note.php (Module)
      13. formfields.inputs.php (Module)
      14. formfields.values.php (Module)
    4. Cart
      1. cart.container.php
      2. cart.shopclosed.php
      3. cart.empty.php
      4. cart.pickup_note.php
      5. cart.checkout_button.php
      6. cart.empty_cart_button.php
      7. cart.minimum_order.php
      8. minicart.php
    5. Loop (Menu Items)
      1. header.php
      2. no_results.php
      3. posts.title.php
      4. posts.thumbnail.php
      5. posts.prices.php
      6. posts.content.php
      7. posts.permalink.php
      8. additives.php
      9. pagination.php
      10. theme-wrapper.php
    6. Search Results
      1. search.php
    7. Single Menu Item
      1. single.php
    8. functions.php
  3. Filters, Actions, Functions
    1. Global WPPizza functions
    2. WPPizza options (Filter)
    3. Currency (Filter)
    4. After every order (Action)
    5. Getting orders (Function)
  4. Constants
    1. Admin Name
    2. Admin Menu Icon
    3. SORT_ITEMS_AS_ADDED
    4. SINGLE_PERMALINK_VAR
    5. WIDGET_CSS_CLASS
    6. PLAINTEXT_LINE_LENGTH
    7. ADMIN_{CONSTANTS}
    8. DEV_{CONSTANTS}
    9. INSTALL_{CONSTANTS}
    10. TRANSACTION_{CONSTANTS}
  5. Codesnippets
    1. Create your own sales report
    2. Order history - todays orders
    3. Email/Print templates
    4. Email Subject Line
    5. Add attachment to email
    6. On order status update
    7. Unconfirmed orders
    8. Customise order id
    9. Changing post type arguments
    10. Gateway filter frontend
    11. Users previous orders
    12. Dynamic menu item prices
    13. Update prices in bulk
    14. Prices output loop
    15. Pickup opening times
    16. Checkout Formfields
    17. Additional validation function
  6. Extensions / Gateways
    1. Add Ingredients
    2. Autoprint
    3. Confirm | Reject | Notify
    4. Coupons and Discounts
    5. Cross-Sells
    6. Delivery By Post/Zipcode
    7. Goodcom Printer
    8. Mailinglists
    9. Pdf Invoices
    10. Preorder
    11. Gateway - Stripe

5.5.Add attachment to email

Adding an arbitrary file attachment to an email – REQUIRES WPPizza v3.2.10

wppizza_filter_mail_attachments

alter the filepath and file contents as well as the recipient key according to your requirements.

@param: array (current attachments)
@param: str (recipient)
@param: array (email settings)
@param: array (formatted order details)
@param: array (unformatted order details)
@return: array

example:

/* add attachment */
add_filter('wppizza_filter_mail_attachments', 'my_prefix_my_add_attachment', 10, 5);
function my_prefix_my_add_attachment( $wp_mail_attachments, $recipient_key, $email_settings, $order_formatted, $order_raw){
    /* attaching a file to emails to the shop */
    if($recipient_key == 'shop'){
        $data = json_encode($order_formatted, JSON_PRETTY_PRINT);//some data to store 
        $file_path = '/some/path/to/some/temp/file.json';//file path to the attachment file you will be sending
        file_put_contents($file_path, $data);//store the file
        $wp_mail_attachments[]=$file_path;//attach the file to email
    }
 return $wp_mail_attachments;
}

wppizza_on_email_sent

perhaps wrap the unlink into a file_exist or something too. if you want to keep the file we created above, simply omit this action (you’ll probably want to name the file something more unique though, like using the order id available in the $order_formatted parameter)

@param: str (recipient key)
@return: void

example:

/* unlink attachment again after email was sent*/
add_action('wppizza_on_email_sent', 'my_prefix_my_unlink_attachment');
function my_prefix_my_unlink_attachment($recipient_key){
    if($recipient_key == 'shop'){
        $file_path = '/some/path/to/some/temp/file.json'; //path to the file we created  above
        @unlink($file_path); //delete file after we're done with it 
    }
return;
}
Suggest Edit

documentor id 5