Plugin Directory

Changeset 3275740


Ignore:
Timestamp:
04/17/2025 11:29:04 AM (12 months ago)
Author:
flexcubed
Message:

Update version to 11.0.6, enhance webhook handling, and fix billing address formatting

Location:
pitchprint
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • pitchprint/tags/11.0.6/functions/admin/orders.php

    r3275461 r3275740  
    158158
    159159    function order_status_completed($order_id, $status_from, $status_to) {
    160         $pp_webhookUrl = false;
    161        
    162         if ( $status_to === "completed" ) $pp_webhookUrl = 'order-complete';
    163         if ( $status_to === "processing" ) $pp_webhookUrl = 'order-processing';
    164        
    165         if ( $pp_webhookUrl ) {
    166            
    167             $order = wc_get_order($order_id);
    168             $order_data = $order->get_data();
    169    
    170             $billing = $order_data['billing'];
    171             $billingEmail = $billing['email'];
    172             $billingPhone = $billing['phone'];
    173             $billingName = $billing['first_name'] . " " . $billing['last_name'];
    174            
    175             $addressArr = ['address_1', 'address_2', 'city', 'postcode', 'country'];
    176             $billingAddress = '';
    177             foreach ($addressArr as $addKey)
    178                 if (!empty($billing[$addKey]))
    179                     $billingAddress .= $billing[$addKey].", ";
    180             $billingAddress = substr($billingAddress, 0, strlen($billingAddress) -2);
    181    
    182             $shippingName = $order_data['shipping']['first_name'] . " " . $order_data['shipping']['last_name'];
    183             $shippingAddress = $order->get_formatted_shipping_address();
    184             $status = $order_data['status'];
    185    
    186             $products = $order->get_items();
    187             $userId = $order_data['customer_id'];
    188             $items = array();
    189    
    190             foreach ($products as $item_key => $item_values) {
    191                 $item_data = $item_values->get_data();
    192                 $items[] = array(
    193                     'name' => $item_data['name'],
    194                     'id' => $item_data['product_id'],
    195                     'qty' => $item_data['quantity'],
    196                     'pitchprint' => wc_get_order_item_meta($item_key, PITCHPRINT_CUSTOMIZATION_KEY)
    197                 );
    198             }
    199    
    200             // If empty Pitchprint value, then we won't trigger the webhook.
    201             $pp_empty = true;
    202             foreach ($items as $item) {
    203                 if (!empty($item['pitchprint'])) {
    204                     $pp_empty = false;
    205                     break;
    206                 }
    207             }
    208    
    209             if (!$pp_empty) {
    210            
    211                 $items = json_encode($items);
    212                 $cred = \pitchprint\functions\general\fetch_credentials();
    213                
    214                 $ch = curl_init();
    215                
    216                 curl_setopt($ch, CURLOPT_URL, "https://api.pitchprint.io/runtime/$pp_webhookUrl");
    217                 curl_setopt($ch, CURLOPT_POST, true);
    218                
    219                 $opts =  array (
    220                             'products' => $items,
    221                             'client' => 'wp',
    222                             'billingEmail' => $billingEmail,
    223                             'billingPhone' => $billingPhone,
    224                             'billingName' => $billingName,
    225                             'billingAddress' => $billingAddress,
    226                             'shippingName' => $shippingName,
    227                             'shippingAddress' => $shippingAddress,
    228                             'orderId' => $order_id,
    229                             'customer' => $userId,
    230                             'status' => $status,
    231                             'apiKey' => get_option('ppa_api_key'),
    232                             'signature' => $cred['signature'],
    233                             'timestamp' => $cred['timestamp']
    234                         );
    235                
    236                 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($opts));
    237                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    238                
    239                 $output = curl_exec($ch);
    240                 $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    241                 $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
    242                 $curlerr = curl_error($ch);
    243                 curl_close($ch);
    244    
    245                 if ($curlerr) {
    246                    error_log(print_r($curlerr, true));
    247                 }
    248             }
    249         }
    250     }
     160    $pp_webhook_url = false;
     161
     162    if ($status_to === "completed") $pp_webhook_url = 'order-complete';
     163    if ($status_to === "processing") $pp_webhook_url = 'order-processing';
     164
     165    if ($pp_webhook_url) {
     166        $order = wc_get_order($order_id);
     167        $order_data = $order->get_data();
     168        $billing = $order_data['billing'];
     169        $billingEmail = $billing['email'];
     170        $billingPhone = $billing['phone'];
     171        $billingName = $billing['first_name'] . " " . $billing['last_name'];
     172
     173        $addressArr = ['address_1', 'address_2', 'city', 'postcode', 'country'];
     174        $billingAddress = '';
     175        foreach ($addressArr as $addKey) {
     176            if (!empty($billing[$addKey])) {
     177                $billingAddress .= $billing[$addKey] . ", ";
     178            }
     179        }
     180        $billingAddress = rtrim($billingAddress, ', ');
     181
     182        $shippingName = $order_data['shipping']['first_name'] . " " . $order_data['shipping']['last_name'];
     183        $shippingAddress = $order->get_formatted_shipping_address();
     184        $status = $order_data['status'];
     185        $products = $order->get_items();
     186        $userId = $order_data['customer_id'];
     187        $items = array();
     188
     189        foreach ($products as $item_key => $item_values) {
     190            $item_data = $item_values->get_data();
     191            $pprint = wc_get_order_item_meta($item_key, PITCHPRINT_CUSTOMIZATION_KEY);
     192            if (isset($pprint) && !empty($pprint)) $pprint = json_encode($pprint);
     193
     194            $items[] = array(
     195                'name' => $item_data['name'],
     196                'id' => $item_data['product_id'],
     197                'qty' => $item_data['quantity'],
     198                'pitchprint' => $pprint
     199            );
     200        }
     201
     202        // If empty Pitchprint value, then we won't trigger the webhook.
     203        $should_send = false;
     204        foreach ($items as $item) {
     205            if (!empty($item['pitchprint'])) {
     206                $should_send = true;
     207                break;
     208            }
     209        }
     210
     211        if ($should_send) {
     212            $cred = \pitchprint\functions\general\fetch_credentials();
     213            $opts = array(
     214                'products' => json_encode($items),
     215                'client' => 'wp',
     216                'billingEmail' => $billingEmail,
     217                'billingPhone' => $billingPhone,
     218                'billingName' => $billingName,
     219                'billingAddress' => $billingAddress,
     220                'shippingName' => $shippingName,
     221                'shippingAddress' => $shippingAddress,
     222                'orderId' => $order_id,
     223                'customer' => $userId,
     224                'status' => $status,
     225                'apiKey' => get_option('ppa_api_key'),
     226                'signature' => $cred['signature'],
     227                'timestamp' => $cred['timestamp']
     228            );
     229
     230            $response = wp_remote_post("https://api.pitchprint.io/runtime/$pp_webhook_url", array(
     231                'headers' => array(
     232                    'Content-Type' => 'application/json'
     233                ),
     234                'body' => json_encode($opts),
     235                'method' => 'POST',
     236                'data_format' => 'body',
     237                'timeout' => 20
     238            ));
     239
     240            if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
     241                error_log('[PitchPrint] Webhook failed: ' . print_r($response, true));
     242            }
     243        }
     244    }
     245}
  • pitchprint/tags/11.0.6/pitchprint.php

    r3275461 r3275740  
    66*   Description:            A beautiful web based print customization app for your online store. Integrates with WooCommerce.
    77*   Author:                 PitchPrint, Inc.
    8 *   Version:                11.0.5
     8*   Version:                11.0.6
    99*   Author URI:             https://pitchprint.com
    1010*   Requires at least:      3.8
     
    4747             *  @var string
    4848            */
    49             public $version = '11.0.5';
     49            public $version = '11.0.6';
    5050
    5151            /**
  • pitchprint/tags/11.0.6/readme.txt

    r3275461 r3275740  
    44Requires at least: 3.8
    55Tested up to: 6.7
    6 Stable tag: 11.0.5
     6Stable tag: 11.0.6
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1818Now your customers can personalize their Business Cards, T-shirts, Greeting Cards, Wedding Invitations, Direct Mail, Mugs, Banners, Wall Papers, Signage, Billboard, Labels, Stickers, Gift Bags and many print products with easy to use templates and resources.
    1919
    20 Using a web-to-print (web2print) plugin offers several benefits to your customers, enhancing their experience and providing added value. Here are some key benefits of using a web2print plugin from a customer’s perspective:·
    21 
    22 **Convenience** - Design and order prints from anywhere, avoiding physical store visits or designer meetings.
    23 
    24 **Time Savings** - Intuitive interface speeds up design creation, reducing traditional design method time.
    25 
    26 **Control and Personalisation** - Full design process control for personalised, unique prints.
    27 
    28 **No Design Experience Required** - User-friendly for all, regardless of design knowledge.
    29 
    30 **Real-Time Preview** - View designs before ordering for satisfaction assurance.
    31 
    32 **Cost-Effective** - Experiment without added costs, exploring design options.
    33 
    34 **Access to Templates** - Start with diverse templates for added convenience.
    35 
    36 **Flexibility in Ordering** - Order anytime, day or night, without business hour constraints.
    37 
    38 **Reduced Errors** - User-friendly interface minimises design mistakes.
    39 
    40 **Easy Reordering** - Conveniently reorder past designs.Using a web2print plugin empowers customers with convenience, customization, and control, elevating their print ordering process.
    41 
    42 
    43 **Benefits for Print Store Merchants**
     20
     21== Benefits of a Web-to-Print Plugin for Your Customers ==
     22
     23* **Convenience** - Design and order prints from anywhere, avoiding physical store visits or designer meetings.
     24
     25* **Time Savings** - Intuitive interface speeds up design creation, reducing traditional design method time.
     26
     27* **Control and Personalisation** - Full design process control for personalised, unique prints.
     28
     29* **No Design Experience Required** - User-friendly for all, regardless of design knowledge.
     30
     31* **Real-Time Preview** - View designs before ordering for satisfaction assurance.
     32
     33* **Cost-Effective** - Experiment without added costs, exploring design options.
     34
     35* **Access to Templates** - Start with diverse templates for added convenience.
     36
     37* **Flexibility in Ordering** - Order anytime, day or night, without business hour constraints.
     38
     39* **Reduced Errors** - User-friendly interface minimises design mistakes.
     40
     41* **Easy Reordering** - Conveniently reorder past designs.Using a web2print plugin empowers customers with convenience, customization, and control, elevating their print ordering process.
     42
     43
     44== Benefits for Print Store Merchants ==
    4445
    4546With its array of powerful features, PitchPrint product customiser can revolutionise your printing services and help you stand out from your competitors while driving revenue growth. Here’s how PitchPrint can benefit your business:·
    4647
    47 **Streamlined Design Process:** With PitchPrint, users can design and customize their prints online, reducing the need for back-and-forth communication between clients and designers.
    48 
    49 **Increased Efficiency:** Automate design and print processes for quicker turnaround and improved productivity.
    50 
    51 **Enhanced Customer Experience:** Interactive design experience for custom creations, allowing them to create custom designs that reflect their unique style and preferences. This will foster customer satisfaction and loyalty.
    52 
    53 **Cost-Effective Solution:** Offer custom printing without costly equipment or software investments.
    54 
    55 **Accessible Design:** User-friendly interface enables easy navigation even for those with limited design experience, making custom printing accessible to all.
    56 
    57 **Customizable:** Seamlessly integrate the plugin with existing branding and website for enhanced brand identity.
    58 
    59 
    60 **Features and Functionality of PitchPrint**
    61 
    62 **Design Assets** - Create your own templates or import some from our store. Design resources such as images, backgrounds, colours, text arts, fonts etc.
    63 
    64 **Data Form Module** - Displays a Quick-edit Form where your customers can simply type in their details and be done with. It is suitable for quick edits without having to manipulate directly on the canvas.
    65 
    66 **Template Colour Module** - Change the template image colour of a design product without going outside of the editor.
    67 
    68 **Page Loader** - Load additional pages into designs from an assigned source design. Perfect for Magazines, Menu, Programmes, Business Cards, Swatch Cards, Direct Mail Marketing, Brochures etc.
    69 
    70 **Display Modes** - Configure how the application appears in your product page with our 3 different display mode options to suit any of your product needs.
    71 
    72 **Layouts** - Enabling users to create different layout and assign them to different sets of designs based on your unique website need basis.
    73 
    74 **Canvas Adjuster** - Large prints come in different shapes and sizes, with this module you can adjust the canvas dimensions before or during designing. You can opt for custom dimensions or pick from a list of pre-set values.
    75 
    76 **Smart Sizes** - Create multiple variations of a single design by varying the canvas size and elements’ properties to come up with entirely different looking layouts. i.e. Landscape, Portrait, Square in seconds saving you time to focus on what matters, the customers!
    77 
    78 **High Res** - You get high resolution print-ready PDF with crisp, clean vector elements in either CMYK with SPOT colors or RGB format. In addition, you can download files as JPEG or PNG.
    79 
    80 **Variable Data** - An API that allows you to programmatically create multiple print-ready PDF files without launching the design editor. Perfect for business cards, direct mail marketing etc.
    81 
    82 **Styling** - From the language to the themes and layout, you can customize the app to blend right into your store’s look and feel. Include your own CSS or Custom JavaScript code to add functionalities. More so, you can edit the HTML to remove features you don’t need.
    83 
    84 **Google Fonts** - Search and use Google Fonts directly in the design editor. Add Google fonts or upload your own TTF or OTF, the choice is all yours!!!
    85 
    86 **Pixabay** - We have also integrated Pixabay which is a collection of royalty free photos and illustrations. And so much more!!!
     48* **Streamlined Design Process:** With PitchPrint, users can design and customize their prints online, reducing the need for back-and-forth communication between clients and designers.
     49
     50* **Increased Efficiency:** Automate design and print processes for quicker turnaround and improved productivity.
     51
     52* **Enhanced Customer Experience:** Interactive design experience for custom creations, allowing them to create custom designs that reflect their unique style and preferences. This will foster customer satisfaction and loyalty.
     53
     54* **Cost-Effective Solution:** Offer custom printing without costly equipment or software investments.
     55
     56* **Accessible Design:** User-friendly interface enables easy navigation even for those with limited design experience, making custom printing accessible to all.
     57
     58* **Customizable:** Seamlessly integrate the plugin with existing branding and website for enhanced brand identity.
     59
     60
     61== Features and Functionality of PitchPrint ==
     62
     63* **Design Assets** - Create your own templates or import some from our store. Design resources such as images, backgrounds, colours, text arts, fonts etc.
     64
     65* **Data Form Module** - Displays a Quick-edit Form where your customers can simply type in their details and be done with. It is suitable for quick edits without having to manipulate directly on the canvas.
     66
     67* **Template Colour Module** - Change the template image colour of a design product without going outside of the editor.
     68
     69* **Page Loader** - Load additional pages into designs from an assigned source design. Perfect for Magazines, Menu, Programmes, Business Cards, Swatch Cards, Direct Mail Marketing, Brochures etc.
     70
     71* **Display Modes** - Configure how the application appears in your product page with our 3 different display mode options to suit any of your product needs.
     72
     73* **Layouts** - Enabling users to create different layout and assign them to different sets of designs based on your unique website need basis.
     74
     75* **Canvas Adjuster** - Large prints come in different shapes and sizes, with this module you can adjust the canvas dimensions before or during designing. You can opt for custom dimensions or pick from a list of pre-set values.
     76
     77* **Smart Sizes** - Create multiple variations of a single design by varying the canvas size and elements’ properties to come up with entirely different looking layouts. i.e. Landscape, Portrait, Square in seconds saving you time to focus on what matters, the customers!
     78
     79* **High Res** - You get high resolution print-ready PDF with crisp, clean vector elements in either CMYK with SPOT colors or RGB format. In addition, you can download files as JPEG or PNG.
     80
     81* **Variable Data** - An API that allows you to programmatically create multiple print-ready PDF files without launching the design editor. Perfect for business cards, direct mail marketing etc.
     82
     83* **Styling** - From the language to the themes and layout, you can customize the app to blend right into your store’s look and feel. Include your own CSS or Custom JavaScript code to add functionalities. More so, you can edit the HTML to remove features you don’t need.
     84
     85* **Google Fonts** - Search and use Google Fonts directly in the design editor. Add Google fonts or upload your own TTF or OTF, the choice is all yours!!!
     86
     87* **Pixabay** - We have also integrated Pixabay which is a collection of royalty free photos and illustrations. And so much more!!!
    8788
    8889
     
    171172
    172173== Changelog ==
     174
     175== 11.0.6 =
     176Fixed Issue with Webhooks
    173177
    174178== 11.0.5 =
  • pitchprint/trunk/functions/admin/orders.php

    r3275461 r3275740  
    158158
    159159    function order_status_completed($order_id, $status_from, $status_to) {
    160         $pp_webhookUrl = false;
    161        
    162         if ( $status_to === "completed" ) $pp_webhookUrl = 'order-complete';
    163         if ( $status_to === "processing" ) $pp_webhookUrl = 'order-processing';
    164        
    165         if ( $pp_webhookUrl ) {
    166            
    167             $order = wc_get_order($order_id);
    168             $order_data = $order->get_data();
    169    
    170             $billing = $order_data['billing'];
    171             $billingEmail = $billing['email'];
    172             $billingPhone = $billing['phone'];
    173             $billingName = $billing['first_name'] . " " . $billing['last_name'];
    174            
    175             $addressArr = ['address_1', 'address_2', 'city', 'postcode', 'country'];
    176             $billingAddress = '';
    177             foreach ($addressArr as $addKey)
    178                 if (!empty($billing[$addKey]))
    179                     $billingAddress .= $billing[$addKey].", ";
    180             $billingAddress = substr($billingAddress, 0, strlen($billingAddress) -2);
    181    
    182             $shippingName = $order_data['shipping']['first_name'] . " " . $order_data['shipping']['last_name'];
    183             $shippingAddress = $order->get_formatted_shipping_address();
    184             $status = $order_data['status'];
    185    
    186             $products = $order->get_items();
    187             $userId = $order_data['customer_id'];
    188             $items = array();
    189    
    190             foreach ($products as $item_key => $item_values) {
    191                 $item_data = $item_values->get_data();
    192                 $items[] = array(
    193                     'name' => $item_data['name'],
    194                     'id' => $item_data['product_id'],
    195                     'qty' => $item_data['quantity'],
    196                     'pitchprint' => wc_get_order_item_meta($item_key, PITCHPRINT_CUSTOMIZATION_KEY)
    197                 );
    198             }
    199    
    200             // If empty Pitchprint value, then we won't trigger the webhook.
    201             $pp_empty = true;
    202             foreach ($items as $item) {
    203                 if (!empty($item['pitchprint'])) {
    204                     $pp_empty = false;
    205                     break;
    206                 }
    207             }
    208    
    209             if (!$pp_empty) {
    210            
    211                 $items = json_encode($items);
    212                 $cred = \pitchprint\functions\general\fetch_credentials();
    213                
    214                 $ch = curl_init();
    215                
    216                 curl_setopt($ch, CURLOPT_URL, "https://api.pitchprint.io/runtime/$pp_webhookUrl");
    217                 curl_setopt($ch, CURLOPT_POST, true);
    218                
    219                 $opts =  array (
    220                             'products' => $items,
    221                             'client' => 'wp',
    222                             'billingEmail' => $billingEmail,
    223                             'billingPhone' => $billingPhone,
    224                             'billingName' => $billingName,
    225                             'billingAddress' => $billingAddress,
    226                             'shippingName' => $shippingName,
    227                             'shippingAddress' => $shippingAddress,
    228                             'orderId' => $order_id,
    229                             'customer' => $userId,
    230                             'status' => $status,
    231                             'apiKey' => get_option('ppa_api_key'),
    232                             'signature' => $cred['signature'],
    233                             'timestamp' => $cred['timestamp']
    234                         );
    235                
    236                 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($opts));
    237                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    238                
    239                 $output = curl_exec($ch);
    240                 $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    241                 $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
    242                 $curlerr = curl_error($ch);
    243                 curl_close($ch);
    244    
    245                 if ($curlerr) {
    246                    error_log(print_r($curlerr, true));
    247                 }
    248             }
    249         }
    250     }
     160    $pp_webhook_url = false;
     161
     162    if ($status_to === "completed") $pp_webhook_url = 'order-complete';
     163    if ($status_to === "processing") $pp_webhook_url = 'order-processing';
     164
     165    if ($pp_webhook_url) {
     166        $order = wc_get_order($order_id);
     167        $order_data = $order->get_data();
     168        $billing = $order_data['billing'];
     169        $billingEmail = $billing['email'];
     170        $billingPhone = $billing['phone'];
     171        $billingName = $billing['first_name'] . " " . $billing['last_name'];
     172
     173        $addressArr = ['address_1', 'address_2', 'city', 'postcode', 'country'];
     174        $billingAddress = '';
     175        foreach ($addressArr as $addKey) {
     176            if (!empty($billing[$addKey])) {
     177                $billingAddress .= $billing[$addKey] . ", ";
     178            }
     179        }
     180        $billingAddress = rtrim($billingAddress, ', ');
     181
     182        $shippingName = $order_data['shipping']['first_name'] . " " . $order_data['shipping']['last_name'];
     183        $shippingAddress = $order->get_formatted_shipping_address();
     184        $status = $order_data['status'];
     185        $products = $order->get_items();
     186        $userId = $order_data['customer_id'];
     187        $items = array();
     188
     189        foreach ($products as $item_key => $item_values) {
     190            $item_data = $item_values->get_data();
     191            $pprint = wc_get_order_item_meta($item_key, PITCHPRINT_CUSTOMIZATION_KEY);
     192            if (isset($pprint) && !empty($pprint)) $pprint = json_encode($pprint);
     193
     194            $items[] = array(
     195                'name' => $item_data['name'],
     196                'id' => $item_data['product_id'],
     197                'qty' => $item_data['quantity'],
     198                'pitchprint' => $pprint
     199            );
     200        }
     201
     202        // If empty Pitchprint value, then we won't trigger the webhook.
     203        $should_send = false;
     204        foreach ($items as $item) {
     205            if (!empty($item['pitchprint'])) {
     206                $should_send = true;
     207                break;
     208            }
     209        }
     210
     211        if ($should_send) {
     212            $cred = \pitchprint\functions\general\fetch_credentials();
     213            $opts = array(
     214                'products' => json_encode($items),
     215                'client' => 'wp',
     216                'billingEmail' => $billingEmail,
     217                'billingPhone' => $billingPhone,
     218                'billingName' => $billingName,
     219                'billingAddress' => $billingAddress,
     220                'shippingName' => $shippingName,
     221                'shippingAddress' => $shippingAddress,
     222                'orderId' => $order_id,
     223                'customer' => $userId,
     224                'status' => $status,
     225                'apiKey' => get_option('ppa_api_key'),
     226                'signature' => $cred['signature'],
     227                'timestamp' => $cred['timestamp']
     228            );
     229
     230            $response = wp_remote_post("https://api.pitchprint.io/runtime/$pp_webhook_url", array(
     231                'headers' => array(
     232                    'Content-Type' => 'application/json'
     233                ),
     234                'body' => json_encode($opts),
     235                'method' => 'POST',
     236                'data_format' => 'body',
     237                'timeout' => 20
     238            ));
     239
     240            if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
     241                error_log('[PitchPrint] Webhook failed: ' . print_r($response, true));
     242            }
     243        }
     244    }
     245}
  • pitchprint/trunk/pitchprint.php

    r3275461 r3275740  
    66*   Description:            A beautiful web based print customization app for your online store. Integrates with WooCommerce.
    77*   Author:                 PitchPrint, Inc.
    8 *   Version:                11.0.5
     8*   Version:                11.0.6
    99*   Author URI:             https://pitchprint.com
    1010*   Requires at least:      3.8
     
    4747             *  @var string
    4848            */
    49             public $version = '11.0.5';
     49            public $version = '11.0.6';
    5050
    5151            /**
  • pitchprint/trunk/readme.txt

    r3275461 r3275740  
    44Requires at least: 3.8
    55Tested up to: 6.7
    6 Stable tag: 11.0.5
     6Stable tag: 11.0.6
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1818Now your customers can personalize their Business Cards, T-shirts, Greeting Cards, Wedding Invitations, Direct Mail, Mugs, Banners, Wall Papers, Signage, Billboard, Labels, Stickers, Gift Bags and many print products with easy to use templates and resources.
    1919
    20 Using a web-to-print (web2print) plugin offers several benefits to your customers, enhancing their experience and providing added value. Here are some key benefits of using a web2print plugin from a customer’s perspective:·
    21 
    22 **Convenience** - Design and order prints from anywhere, avoiding physical store visits or designer meetings.
    23 
    24 **Time Savings** - Intuitive interface speeds up design creation, reducing traditional design method time.
    25 
    26 **Control and Personalisation** - Full design process control for personalised, unique prints.
    27 
    28 **No Design Experience Required** - User-friendly for all, regardless of design knowledge.
    29 
    30 **Real-Time Preview** - View designs before ordering for satisfaction assurance.
    31 
    32 **Cost-Effective** - Experiment without added costs, exploring design options.
    33 
    34 **Access to Templates** - Start with diverse templates for added convenience.
    35 
    36 **Flexibility in Ordering** - Order anytime, day or night, without business hour constraints.
    37 
    38 **Reduced Errors** - User-friendly interface minimises design mistakes.
    39 
    40 **Easy Reordering** - Conveniently reorder past designs.Using a web2print plugin empowers customers with convenience, customization, and control, elevating their print ordering process.
    41 
    42 
    43 **Benefits for Print Store Merchants**
     20
     21== Benefits of a Web-to-Print Plugin for Your Customers ==
     22
     23* **Convenience** - Design and order prints from anywhere, avoiding physical store visits or designer meetings.
     24
     25* **Time Savings** - Intuitive interface speeds up design creation, reducing traditional design method time.
     26
     27* **Control and Personalisation** - Full design process control for personalised, unique prints.
     28
     29* **No Design Experience Required** - User-friendly for all, regardless of design knowledge.
     30
     31* **Real-Time Preview** - View designs before ordering for satisfaction assurance.
     32
     33* **Cost-Effective** - Experiment without added costs, exploring design options.
     34
     35* **Access to Templates** - Start with diverse templates for added convenience.
     36
     37* **Flexibility in Ordering** - Order anytime, day or night, without business hour constraints.
     38
     39* **Reduced Errors** - User-friendly interface minimises design mistakes.
     40
     41* **Easy Reordering** - Conveniently reorder past designs.Using a web2print plugin empowers customers with convenience, customization, and control, elevating their print ordering process.
     42
     43
     44== Benefits for Print Store Merchants ==
    4445
    4546With its array of powerful features, PitchPrint product customiser can revolutionise your printing services and help you stand out from your competitors while driving revenue growth. Here’s how PitchPrint can benefit your business:·
    4647
    47 **Streamlined Design Process:** With PitchPrint, users can design and customize their prints online, reducing the need for back-and-forth communication between clients and designers.
    48 
    49 **Increased Efficiency:** Automate design and print processes for quicker turnaround and improved productivity.
    50 
    51 **Enhanced Customer Experience:** Interactive design experience for custom creations, allowing them to create custom designs that reflect their unique style and preferences. This will foster customer satisfaction and loyalty.
    52 
    53 **Cost-Effective Solution:** Offer custom printing without costly equipment or software investments.
    54 
    55 **Accessible Design:** User-friendly interface enables easy navigation even for those with limited design experience, making custom printing accessible to all.
    56 
    57 **Customizable:** Seamlessly integrate the plugin with existing branding and website for enhanced brand identity.
    58 
    59 
    60 **Features and Functionality of PitchPrint**
    61 
    62 **Design Assets** - Create your own templates or import some from our store. Design resources such as images, backgrounds, colours, text arts, fonts etc.
    63 
    64 **Data Form Module** - Displays a Quick-edit Form where your customers can simply type in their details and be done with. It is suitable for quick edits without having to manipulate directly on the canvas.
    65 
    66 **Template Colour Module** - Change the template image colour of a design product without going outside of the editor.
    67 
    68 **Page Loader** - Load additional pages into designs from an assigned source design. Perfect for Magazines, Menu, Programmes, Business Cards, Swatch Cards, Direct Mail Marketing, Brochures etc.
    69 
    70 **Display Modes** - Configure how the application appears in your product page with our 3 different display mode options to suit any of your product needs.
    71 
    72 **Layouts** - Enabling users to create different layout and assign them to different sets of designs based on your unique website need basis.
    73 
    74 **Canvas Adjuster** - Large prints come in different shapes and sizes, with this module you can adjust the canvas dimensions before or during designing. You can opt for custom dimensions or pick from a list of pre-set values.
    75 
    76 **Smart Sizes** - Create multiple variations of a single design by varying the canvas size and elements’ properties to come up with entirely different looking layouts. i.e. Landscape, Portrait, Square in seconds saving you time to focus on what matters, the customers!
    77 
    78 **High Res** - You get high resolution print-ready PDF with crisp, clean vector elements in either CMYK with SPOT colors or RGB format. In addition, you can download files as JPEG or PNG.
    79 
    80 **Variable Data** - An API that allows you to programmatically create multiple print-ready PDF files without launching the design editor. Perfect for business cards, direct mail marketing etc.
    81 
    82 **Styling** - From the language to the themes and layout, you can customize the app to blend right into your store’s look and feel. Include your own CSS or Custom JavaScript code to add functionalities. More so, you can edit the HTML to remove features you don’t need.
    83 
    84 **Google Fonts** - Search and use Google Fonts directly in the design editor. Add Google fonts or upload your own TTF or OTF, the choice is all yours!!!
    85 
    86 **Pixabay** - We have also integrated Pixabay which is a collection of royalty free photos and illustrations. And so much more!!!
     48* **Streamlined Design Process:** With PitchPrint, users can design and customize their prints online, reducing the need for back-and-forth communication between clients and designers.
     49
     50* **Increased Efficiency:** Automate design and print processes for quicker turnaround and improved productivity.
     51
     52* **Enhanced Customer Experience:** Interactive design experience for custom creations, allowing them to create custom designs that reflect their unique style and preferences. This will foster customer satisfaction and loyalty.
     53
     54* **Cost-Effective Solution:** Offer custom printing without costly equipment or software investments.
     55
     56* **Accessible Design:** User-friendly interface enables easy navigation even for those with limited design experience, making custom printing accessible to all.
     57
     58* **Customizable:** Seamlessly integrate the plugin with existing branding and website for enhanced brand identity.
     59
     60
     61== Features and Functionality of PitchPrint ==
     62
     63* **Design Assets** - Create your own templates or import some from our store. Design resources such as images, backgrounds, colours, text arts, fonts etc.
     64
     65* **Data Form Module** - Displays a Quick-edit Form where your customers can simply type in their details and be done with. It is suitable for quick edits without having to manipulate directly on the canvas.
     66
     67* **Template Colour Module** - Change the template image colour of a design product without going outside of the editor.
     68
     69* **Page Loader** - Load additional pages into designs from an assigned source design. Perfect for Magazines, Menu, Programmes, Business Cards, Swatch Cards, Direct Mail Marketing, Brochures etc.
     70
     71* **Display Modes** - Configure how the application appears in your product page with our 3 different display mode options to suit any of your product needs.
     72
     73* **Layouts** - Enabling users to create different layout and assign them to different sets of designs based on your unique website need basis.
     74
     75* **Canvas Adjuster** - Large prints come in different shapes and sizes, with this module you can adjust the canvas dimensions before or during designing. You can opt for custom dimensions or pick from a list of pre-set values.
     76
     77* **Smart Sizes** - Create multiple variations of a single design by varying the canvas size and elements’ properties to come up with entirely different looking layouts. i.e. Landscape, Portrait, Square in seconds saving you time to focus on what matters, the customers!
     78
     79* **High Res** - You get high resolution print-ready PDF with crisp, clean vector elements in either CMYK with SPOT colors or RGB format. In addition, you can download files as JPEG or PNG.
     80
     81* **Variable Data** - An API that allows you to programmatically create multiple print-ready PDF files without launching the design editor. Perfect for business cards, direct mail marketing etc.
     82
     83* **Styling** - From the language to the themes and layout, you can customize the app to blend right into your store’s look and feel. Include your own CSS or Custom JavaScript code to add functionalities. More so, you can edit the HTML to remove features you don’t need.
     84
     85* **Google Fonts** - Search and use Google Fonts directly in the design editor. Add Google fonts or upload your own TTF or OTF, the choice is all yours!!!
     86
     87* **Pixabay** - We have also integrated Pixabay which is a collection of royalty free photos and illustrations. And so much more!!!
    8788
    8889
     
    171172
    172173== Changelog ==
     174
     175== 11.0.6 =
     176Fixed Issue with Webhooks
    173177
    174178== 11.0.5 =
Note: See TracChangeset for help on using the changeset viewer.