Non-virtual downloadable products
-
I’m trying to set up a site selling products that have both physical and downloadable components (like a physical book and its digital form).
I’ve created a new product type called ‘Book’ for my products.
In the Edit Product page, I’m ticking Downloadable but not Virtual. However, when I purchase these products, after payment, the order is immediately marked as completed. This is incorrect, since I need to ship the physical item as well.
I’ve read in the documentation that an order should be completed only when both Virtual and Downloadable are ticked. That seems not to be the case in my example. Any insight please?
Thanks,
Spyros
-
Hey @snathana –
You are correct that products should only be auto-completing if they’re marked as virtual + downloadable. It’s possible you have a plugin installed that would cause this functionality like Order Status Control: https://woocommerce.com/products/woocommerce-order-status-control/
Would you mind copying and pasting your System Status Report into this thread so that I can check for any red flags there? You can find this by going to WooCommerce > Status > System Status > Get System Report in your WP-Admin dashboard.
Thanks!
Hi @laceyrod , and thanks for the help.
Pasting as requested:
### WordPress Environment ### WordPress address (URL): https://gutenberg.hypernetica.com Site address (URL): https://gutenberg.hypernetica.com WC Version: 4.3.1 REST API Version: ? 1.0.10 WC Blocks Version: ? 3.1.0 Action Scheduler Version: ? 3.1.6 WC Admin Version: ? 1.3.1 Log Directory Writable: ? WP Version: ? 5.4.2 - There is a newer version of WordPress available (5.5.1) WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: – WP Cron: ? Language: el External object cache: – ### Server Environment ### Server Info: Apache/2.4.29 (Ubuntu) PHP Version: 7.4.8 PHP Post Max Size: 8 MB PHP Time Limit: 30 PHP Max Input Vars: 1000 cURL Version: 7.58.0 OpenSSL/1.1.1g SUHOSIN Installed: – MySQL Version: 5.7.31-0ubuntu0.18.04.1 Max Upload Size: 8 MB Default Timezone is UTC: ? fsockopen/cURL: ? SoapClient: ? DOMDocument: ? GZip: ? Multibyte String: ? Remote Post: ? Remote Get: ? ### Database ### WC Database Version: 4.3.1 WC Database Prefix: wp_ Total Database Size: 94.83MB Database Data Size: 58.78MB Database Index Size: 36.05MB wp_woocommerce_sessions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_actions: Data: 0.02MB + Index: 0.11MB + Engine InnoDB wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_actionscheduler_logs: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_berocket_termmeta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_braapf_product_stock_status_parent: Data: 0.11MB + Index: 0.06MB + Engine InnoDB wp_braapf_product_variation_attributes: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_braapf_term_taxonomy_hierarchical: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_braapf_variation_attributes: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_comments: Data: 0.02MB + Index: 0.09MB + Engine InnoDB wp_duplicator_packages: Data: 0.14MB + Index: 0.02MB + Engine InnoDB wp_eurobank_transactions: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_failed_jobs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_mailchimp_carts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mdf_stat_buffer: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mdf_stat_tmp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mpsl_sliders: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mpsl_sliders_preview: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mpsl_slides: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_mpsl_slides_preview: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_nextend2_image_storage: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_nextend2_section_storage: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_nextend2_smartslider3_generators: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_nextend2_smartslider3_sliders: Data: 0.03MB + Index: 0.00MB + Engine InnoDB wp_nextend2_smartslider3_sliders_xref: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_nextend2_smartslider3_slides: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_options: Data: 4.36MB + Index: 0.14MB + Engine InnoDB wp_pmxi_files: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_pmxi_history: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_pmxi_images: Data: 0.08MB + Index: 0.00MB + Engine InnoDB wp_pmxi_imports: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_pmxi_posts: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_pmxi_templates: Data: 0.06MB + Index: 0.00MB + Engine InnoDB wp_podsrel: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_postmeta: Data: 41.58MB + Index: 30.09MB + Engine InnoDB wp_posts: Data: 5.52MB + Index: 0.63MB + Engine InnoDB wp_product_catmeta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_queue: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revisr: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_css: Data: 0.13MB + Index: 0.00MB + Engine InnoDB wp_revslider_layer_animations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_navigations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_sliders: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_slides: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_revslider_static_slides: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_termmeta: Data: 0.36MB + Index: 0.38MB + Engine InnoDB wp_terms: Data: 1.52MB + Index: 0.73MB + Engine InnoDB wp_term_relationships: Data: 1.52MB + Index: 1.52MB + Engine InnoDB wp_term_taxonomy: Data: 1.52MB + Index: 0.58MB + Engine InnoDB wp_usermeta: Data: 0.06MB + Index: 0.03MB + Engine InnoDB wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_vxcf_mailchimp: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_vxcf_mailchimp_accounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_vxcf_mailchimp_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wc_admin_notes: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_note_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB wp_wc_product_meta_lookup: Data: 0.25MB + Index: 0.42MB + Engine InnoDB wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wdr_order_discounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wdr_order_item_discounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wdr_rules: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_woobookstore_cache: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_woof_query_cache: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_wpmailsmtp_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_wpsdb_alter_statements: Data: 0.02MB + Index: 0.00MB + Engine InnoDB wp_yith_wcwl: Data: 0.02MB + Index: 0.02MB + Engine InnoDB wp_yith_wcwl_lists: Data: 0.02MB + Index: 0.05MB + Engine InnoDB ### Post Type Counts ### acf-field: 39 acf-field-group: 2 advgb_profiles: 1 attachment: 1070 block: 1 br_product_filter: 11 meta_data_filter: 1 nav_menu_item: 34 oembed_cache: 2 page: 19 post: 6 product: 2299 product_variation: 2 revision: 53 sa_slider: 1 shop_order: 3 wccaf: 1 wcccf: 3 wcps: 2 woo_discount: 2 woo_discount_cart: 1 wpcf7_contact_form: 1 wp_block: 1 ywdpd_discount: 2 ### Security ### Secure connection (HTTPS): ? Your store is not using HTTPS. Learn more about HTTPS and SSL Certificates. Hide errors from visitors: ? ### Active Plugins (30) ### WPini Update Toolkit: by WPini – 5.0 Add From Server: by Dion Hulse – 3.3.3 Advanced Custom Fields PRO: by Elliot Condon – 5.8.12 Advanced Custom Fields: by Elliot Condon – 5.8.12 AutoConvert Greeklish Permalinks: by Dimitris Mavroudis – 3.4.0 – Installed version not tested with active version of WooCommerce 4.3.1 Contact Form 7: by Takayuki Miyoshi – 5.2.1 Custom Post Type UI: by WebDevStudios – 1.7.4 Dynamic Featured Image: by Ankit Pokhrel – 3.7.0 HTML Global lang Attribute: by Alex Zappa a.k.a. re[at]lat – 1.0.1 Loco Translate: by Tim Whitlock – 2.4.1 Porto Theme - Functionality: by P-Themes – 1.7.2 Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.1.3 Revisr: by Expanded Fronts LLC – 2.0.2 Web Expert Eurobank WooCommerce Payment Gateway: by Web Expert – 1.0.23 Widget Options: by Widget Options Team – 3.7.4 Woo Discount Rules PRO 2.0: by Flycart Technologies LLP – 2.0.2 Woo Discount Rules: by Flycart Technologies LLP – 2.0.2 WooCommerce Blocks: by Automattic – 3.1.0 – Installed version not tested with active version of WooCommerce 4.3.1 Product Slider and Carousel with Category for WooCommerce: by WP OnlineSupport – 2.2.1 WooCommerce AJAX Products Filter: by BeRocket – 3.0.0.8 WooCommerce Bookstore: by WPini – 3.0 – Installed version not tested with active version of WooCommerce 4.3.1 WooCommerce: by Automattic – 4.3.1 (update to version 4.4.1 is available) Category and Taxonomy Image: by Aftab Husain – 1.0.0 WP Frontend Profile: by Glowlogix – 1.2.2 WP Mail SMTP: by WPForms – 2.2.1 WP Sitemap Page: by Tony Archambeau – 1.6.2 WP Sync DB: by Sean Lang – 1.5 ReCaptcha v2 for Contact Form 7: by IQComputing – 1.2.7 YITH WooCommerce Ajax Search: by YITH – 1.7.9 – Installed version not tested with active version of WooCommerce 4.3.1 YITH WooCommerce Wishlist: by YITH – 3.0.11 – Installed version not tested with active version of WooCommerce 4.3.1 ### Inactive Plugins (12) ### Ajax Search Lite: by Ernest Marcinko – 4.8.3 Fast Velocity Minify: by Raul Peixoto – 2.8.9 Mailchimp for WooCommerce: by Mailchimp – 2.4.3 MC4WP: Mailchimp for WordPress: by ibericode – 4.8 WooCommerce PayPal Checkout Gateway: by WooCommerce – 2.0.3 WooCommerce Remove All Products: by Gabriel Reguly – 4.2 – Installed version not tested with active version of WooCommerce 4.3.1 WooCommerce Services: by Automattic – 1.24.0 (update to version 1.24.2 is available) – Installed version not tested with active version of WooCommerce 4.3.1 WP All Import - ACF Add-On: by Soflyy – 3.2.5 WP All Import - WooCommerce Add-On: by Soflyy – 1.4.5 – Installed version not tested with active version of WooCommerce 4.3.1 WP All Import - WooCommerce Add-On Pro: by Soflyy – 2.3.0 – Installed version not tested with active version of WooCommerce 4.3.1 WP All Import Pro: by Soflyy – 4.5.4 WPBakery Page Builder: by Michael M - WPBakery.com – 6.0.5 ### Must Use Plugins (1) ### WP Staging Optimizer: by René Hermenau – 1.1 ### Settings ### API Enabled: – Force SSL: – Currency: EUR (€) Currency Position: left Thousand Separator: . Decimal Separator: , Number of Decimals: 2 Taxonomies: Product Types: book (book) external (external) grouped (grouped) simple (simple) variable (variable) Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5) Connected to WooCommerce.com: – ### WC Pages ### Shop base: #4 - /shop/ Cart: #5 - /cart/ Checkout: #6 - /checkout/ My account: #7 - /my-account/ Terms and conditions: #115 - /ori-chrisis/ ### Theme ### Name: Porto Child Version: 1.1 Author URL: https://www.portotheme.com/ Child Theme: ? Parent Theme Name: Porto Parent Theme Version: 5.4.2 Parent Theme Author URL: https://www.portotheme.com/ WooCommerce Support: ? ### Templates ### Overrides: porto/woocommerce/archive-product.php porto/woocommerce/cart/cart-shipping.php porto/woocommerce/cart/cart-totals.php porto/woocommerce/cart/cart.php porto/woocommerce/cart/cross-sells.php porto/woocommerce/cart/mini-cart.php porto/woocommerce/cart/proceed-to-checkout-button.php porto/woocommerce/cart/shipping-calculator.php porto/woocommerce/checkout/form-billing.php porto/woocommerce/checkout/form-checkout.php porto/woocommerce/checkout/form-coupon.php porto/woocommerce/checkout/form-login.php porto/woocommerce/checkout/form-pay.php porto/woocommerce/checkout/payment.php porto/woocommerce/checkout/review-order.php porto/woocommerce/content-product.php porto/woocommerce/content-product_cat.php porto-child/woocommerce/content-single-product.php porto/woocommerce/content-widget-product.php porto/woocommerce/global/form-login.php porto/woocommerce/global/quantity-input.php porto/woocommerce/global/wrapper-start.php porto/woocommerce/loop/add-to-cart.php porto/woocommerce/loop/loop-end.php porto/woocommerce/loop/loop-start.php porto/woocommerce/loop/no-products-found.php porto/woocommerce/loop/orderby.php porto/woocommerce/loop/pagination.php porto/woocommerce/loop/rating.php porto/woocommerce/loop/sale-flash.php porto/woocommerce/myaccount/downloads.php porto/woocommerce/myaccount/form-add-payment-method.php porto/woocommerce/myaccount/form-edit-account.php porto/woocommerce/myaccount/form-edit-address.php porto/woocommerce/myaccount/form-login.php porto/woocommerce/myaccount/form-lost-password.php porto/woocommerce/myaccount/form-reset-password.php porto/woocommerce/myaccount/lost-password-confirmation.php porto/woocommerce/myaccount/my-account.php porto/woocommerce/myaccount/my-address.php porto/woocommerce/myaccount/my-downloads.php porto/woocommerce/myaccount/my-orders.php porto/woocommerce/myaccount/orders.php porto/woocommerce/myaccount/payment-methods.php porto/woocommerce/myaccount/view-order.php porto/woocommerce/order/form-tracking.php porto/woocommerce/order/tracking.php porto/woocommerce/single-product/add-to-cart/simple.php porto/woocommerce/single-product/add-to-cart/variable.php porto-child/woocommerce/single-product/meta.php porto/woocommerce/single-product/product-attributes.php porto/woocommerce/single-product/product-image.php porto/woocommerce/single-product/product-thumbnails.php porto/woocommerce/single-product/rating.php porto/woocommerce/single-product/related.php porto/woocommerce/single-product/review-meta.php porto/woocommerce/single-product/review-rating.php porto/woocommerce/single-product/review.php porto/woocommerce/single-product/sale-flash.php porto-child/woocommerce/single-product/short-description.php porto-child/woocommerce/single-product/tabs/tabs.php porto/woocommerce/single-product/title.php porto/woocommerce/single-product/up-sells.php porto/woocommerce/single-product-reviews.php ### Action Scheduler ### Complete: 37 Oldest: 2020-06-18 12:18:00 +0000 Newest: 2020-09-04 12:24:38 +0000 Pending: 1 Oldest: 2020-09-05 12:24:05 +0000 Newest: 2020-09-05 12:24:05 +0000
Hi @snathana –
Thanks for sharing. I don’t see any plugins installed that were designed for this functionality, so it’s likely this behavior is being caused by a conflict. I would recommend testing by taking the following steps:
– Temporarily switch to one of our default themes, such as Storefront, to ensure that this isn’t a theme compatibility issue. Once you switch themes, place a test order. Does everything function as expected?
– If not and we can rule out the theme compatibility issue, we also recommend deactivating all plugins except for WooCommerce to see if this resolves the issue at that point. If it does, then you would need to activate each plugin, one at a time, to see if you can find the conflicting extension/plugin.
I would recommend backing up the site before testing or testing on a staging site if possible.
Hope this helps!
Thanks for the reply @laceyrod ! I will give your suggestions a try and leave a comment here with the results.
Cheers,
SpyrosHi, I did a simple test by changing the Product Type to Simple Product, and it worked as designed. So it appears to be a compatibility issue with the custom product type I’m using.
Is there something I can do on my end to enable the above behaviour for my custom product type as well? Feel free to give me a technical reply if you’d like, I know my way around plugins (although I’m not an expert in PHP).
Thanks again for the assistance,
SpyrosHi there Spyros,
Glad to hear you were able to narrow down what was causing that issue! Yes, if it works as expected with a Simple Product, then it sounds like it would be related to your Custom product type.
I see you are using the
Custom Post Type UI: by WebDevStudios
plugin, which I’m guessing you are using to add that custom post/product type. It might be worth reaching out to their team to ask if they have a way of setting it so the post type is compatible with the “Virtual” setting.Otherwise, I see there is a
woocommerce_order_item_needs_processing
filter available in WooCommerce:
https://github.com/woocommerce/woocommerce/blob/0f134ca6a20c8132be490b22ad8d1dc245d81cc0/includes/class-wc-order.php#L1532You might be able to use that filter to set whether the order requires processing. We have a guide for working with filters here:
https://docs.woocommerce.com/document/introduction-to-hooks-actions-and-filters/I hope that helps!
Cheers @kellymetal , thanks for the tips! I will give your suggestions a try.
I’m marking this as resolved, as apparently it’s a third-party issue.
Thanks,
Spyros
- The topic ‘Non-virtual downloadable products’ is closed to new replies.