DimDul One Page Product Checkout for WooCommerce

This guide covers installation, configuration and customization of DimDul One Page Product Checkout for WooCommerce.

1. Introduction

This plugin turns any WooCommerce product into a single-page checkout funnel. A visitor sees the product, selects options, adds to cart over AJAX and completes the embedded checkout — all without leaving the page. WooCommerce's native variation form is preserved, so swatch plugins keep working.

2. Requirements

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

3. 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.
Prefer manual installation? Unzip the package and copy the dimdul-one-page-product-checkout folder into wp-content/plugins/.

4. Settings

Open WooCommerce → One Page Checkout. These defaults apply whenever a shortcode attribute is omitted.

SettingDescription
Landing templateClassic, Stacked, Detail First, Express, or Sticky Sidebar. Override per page with template="…".
Show product summaryDisplay the image/title/description column.
Auto-add simple productsAdd one unit on load for simple products.
Clear cart on loadEmpty the cart before rendering (single-product funnels).
Accent colour / hoverButton and highlight colours.
Add to cart button textCustom button label.
Checkout headingHeading shown above the checkout form.
Load bundled stylesDisable if your theme styles the layout.

5. Shortcode

[one_page_product_checkout product_id="123"]
AttributeValuesDefault
product_idintegerrequired
templateclassic / stacked / detail-first / express / sidebarfrom settings
clear_cartyes / nofrom settings
auto_add_simpleyes / nofrom settings
show_product_summaryyes / nofrom settings

5b. Templates

SlugLayout
classicTwo columns: summary left, purchase controls and checkout right.
stackedSingle column: image, summary, purchase, checkout, description, reviews.
detail-firstSummary and purchase on top, then description, reviews, checkout.
expressNarrow funnel: summary, purchase, and checkout only.
sidebarScrolling content with a sticky checkout card.

6. Examples

Dedicated funnel (only this product in 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"]

7. 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.

8. Variation Swatches for WooCommerce

The plugin keeps the native variation form, so swatch plugins attach normally. 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.

9. Developer hooks

oppcl_load_assets — 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 );

10. Troubleshooting

SymptomCheck
"WooCommerce is required"Activate WooCommerce.
Scripts missing / checkout frozenShortcode stored outside post_content — use the oppcl_load_assets filter.
Variation add always errorsConfirm attributes match a variation; check stock; test with core dropdowns.
Layout looks unstyled"Load bundled styles" is off and the theme has no matching styles — re-enable it.
Duplicate cart itemsUse clear_cart="yes" on strict single-product landers.

11. Support

For help, use the plugin's support forum on WordPress.org. Please include your WordPress and WooCommerce versions and any console/network errors.