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

Requirements

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.

SettingDescription
Landing templateClassic, Stacked, Detail First, Express, or Sticky Sidebar. Override per page with template="…".
Show product summaryDisplay the image, title, and short description column.
Auto-add simple productsAdd one unit on load for simple products.
Clear cart on loadEmpty the cart before rendering. Use this for 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 stylesTurn this off only if your theme already styles the layout.

Shortcode

[one_page_product_checkout product_id="123"]
AttributeValuesDefaultDescription
product_idintegerrequiredWooCommerce product ID.
templateclassic / stacked / detail-first / express / sidebarSettingsLanding layout.
clear_cartyes / noSettingsEmpty the cart before rendering.
auto_add_simpleyes / noSettingsFor simple products, add quantity 1 on first load if the item is not in the cart.
show_product_summaryyes / noSettingsShow the image / title / description column.

Templates

SlugLayout
classic (default)Two columns: summary left, purchase controls and checkout right.
stackedSingle column: image, summary, purchase controls, checkout, description, reviews.
detail-firstTwo columns on top (summary | purchase), then full-width description, reviews, and checkout.
expressNarrow centered funnel: summary, purchase controls, and checkout only.
sidebarScrolling 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

SymptomCheck
“WooCommerce is required”Activate WooCommerce.
Scripts missing / checkout frozenThe shortcode is stored outside post_content. Use the oppcl_load_assets filter.
Variation add always errorsConfirm 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 itemsUse 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 · info@dimdul.com