DimDul One Page Product Checkout for WooCommerce

DimDul One Page Product Checkout for WooCommerce lets you create a seamless one-page shopping experience where customers can select product options, add items to cart, manage quantities, and complete checkout—all without leaving the page. It supports simple and variable products, WooCommerce extensions like variation swatches, AJAX cart updates, server-side validation, multiple landing templates, customizable settings, HPOS compatibility, and translation readiness.

Category:

Description

DimDul One Page Product Checkout for WooCommerce puts the product, cart controls, and checkout form on one page. Add a shortcode and visitors can choose options, add the product, and pay without leaving the page.

It keeps WooCommerce’s native variable product form, so extensions such as Variation Swatches for WooCommerce continue to work.

This plugin requires WooCommerce. It is free and GPL-licensed. It does not call home and does not load scripts from a third-party CDN.

Key features

  • One shortcode for any product: [one_page_product_checkout product_id="123"]
  • Five landing templates: Classic, Stacked, Detail First, Express, and Sticky Sidebar
  • Optional product Description and Reviews blocks (display only) in the richer templates
  • AJAX add-to-cart and live quantity updates (no page reloads)
  • Embedded WooCommerce checkout on the same page
  • Simple and variable products, including swatch plugins
  • Server-side variation matching and stock validation
  • Cart-merge logic that prevents duplicate line items
  • Admin settings for defaults, layout, accent colours, and button text
  • HPOS (High-Performance Order Storage) compatible
  • Translation ready (.pot included)

Requirements

  • WordPress 6.0 or higher
  • PHP 7.4 or higher
  • WooCommerce 7.0 or higher

Installation

  1. Go to Plugins → Add New → Upload Plugin.
  2. Upload dimdul-one-page-product-checkout.zip and click Install Now.
  3. Click Activate.
  4. Make sure WooCommerce is installed and active.
  5. Open WooCommerce → One Page Checkout to set defaults.
  6. Add the shortcode to any page, replacing the ID with your product ID.

Prefer a manual install? Unzip the package and copy the dimdul-one-page-product-checkout folder into wp-content/plugins/.

If WooCommerce is not active, the same settings screen is under Settings → One Page Checkout.

Settings

These values are used whenever a shortcode attribute is omitted.

Setting Description
Landing template Classic, Stacked, Detail First, Express, or Sticky Sidebar. Override per page with template="…".
Show product summary Display the image, title, and short description column.
Auto-add simple products Add one unit on load for simple products.
Clear cart on load Empty the cart before rendering. Use this for single-product funnels.
Accent colour / hover Button and highlight colours.
Add to cart button text Custom button label.
Checkout heading Heading shown above the checkout form.
Load bundled styles Turn this off only if your theme already styles the layout.

Shortcode

[one_page_product_checkout product_id="123"]
Attribute Values Default Description
product_id integer required WooCommerce product ID.
template classic / stacked / detail-first / express / sidebar Settings Landing layout.
clear_cart yes / no Settings Empty the cart before rendering.
auto_add_simple yes / no Settings For simple products, add quantity 1 on first load if the item is not in the cart.
show_product_summary yes / no Settings Show the image / title / description column.

Templates

Slug Layout
classic (default) Two columns: summary left, purchase controls and checkout right.
stacked Single column: image, summary, purchase controls, checkout, description, reviews.
detail-first Two columns on top (summary | purchase), then full-width description, reviews, and checkout.
express Narrow centered funnel: summary, purchase controls, and checkout only.
sidebar Scrolling content (summary, description, reviews) with a sticky checkout card on desktop.

stacked, detail-first, and sidebar add the product long description and a read-only reviews list (average rating plus approved reviews; no submit form). The older layout option is mapped automatically: two-column → Classic, single → Stacked.

Examples

Dedicated funnel (only this product in the cart):

[one_page_product_checkout product_id="456" clear_cart="yes"]

Variable product, keep existing cart items:

[one_page_product_checkout product_id="789" show_product_summary="yes"]

Simple product with a manual quantity field:

[one_page_product_checkout product_id="321" auto_add_simple="no"]

Sticky sidebar template:

[one_page_product_checkout product_id="123" template="sidebar"]

How it works

  1. The shortcode validates the product and, if asked, clears the cart.
  2. Simple products can be auto-added on load. Variable products show the native WooCommerce selector.
  3. Adding to cart or changing quantity goes through a nonce-protected AJAX endpoint.
  4. The embedded checkout refreshes automatically via update_checkout.

Variable products

  1. The visitor sees the standard WooCommerce variation selector.
  2. Choosing options sets variation_id and attribute_* fields.
  3. Clicking Add to cart sends those fields over AJAX.
  4. The server validates the combination, stock, and purchasability, then merges into any existing line.
  5. The checkout section appears and totals refresh.

Variation Swatches for WooCommerce is supported. The plugin keeps the native variation form, so swatch plugins attach as usual. If a swatch fails, open the browser network tab and confirm admin-ajax.php?action=oppcl_add_to_cart returns success with a cart_item_key.

Developer hooks

Force asset loading when the shortcode is stored outside post_content (page builders):

add_filter( 'oppcl_load_assets', function ( $load, $post ) {
    if ( $post && (int) $post->ID === 123 ) {
        return true;
    }
    return $load;
}, 10, 2 );

Privacy

This plugin does not collect, transmit, or store personal data of its own. Cart, checkout, and order data stay on your WordPress site and are processed by WooCommerce. Deleting the plugin runs uninstall.php, which removes its options.

Troubleshooting

Symptom Check
“WooCommerce is required” Activate WooCommerce.
Scripts missing / checkout frozen The shortcode is stored outside post_content. Use the oppcl_load_assets filter.
Variation add always errors Confirm attributes match a variation, check stock, and test with core dropdowns.
Layout looks unstyled “Load bundled styles” is off and the theme has no matching styles. Turn it back on.
Duplicate cart items Use clear_cart="yes" on strict single-product landers.

Support

For help, use the plugin’s support forum on WordPress.org. Include your WordPress and WooCommerce versions and any console or network errors.

DimDul · dimdul.com · [email protected]