Skip to main content

Wordpress Plugin

We've developed a cutting edge Wordpress integration powered by the Propeller GraphQL API. Data is streamed realtime (just like Netflix), meaning you're not adding load to Wordpress or its MySQL database for your commerce experiences with replication or synchronization.

Wordpress Integration

Wordpress owns the glass, but when it comes to commerce, Propeller pours the drinks. We intercept the requests from the visitor when product, catalog, pricing or customer information is needed, and make a speedy request through the Propeller GraphQL API. With sub-half-second latency on requests, all the data is readily available as Wordpress renders the page.

The Propeller Commerce Wordpress Plugin

The plugin contains the underlying communication engine that connects with the Propeller backend and provides the commerce content where it's needed.

This communication engine uses default php methods to retrieve the data requested, allowing you to seamlessly integrate within an existing Wordpress project. Your php templates can use the extensive list of supported short-codes (currently in propeller-ecommerce.php - need to document these) to retrieve your data.

The plugin is fully integrated with the Wordpress URL management capabilities, allowing for partial URL ownership to create dynamic links for all products, categories and brands, whilst ensuring that the CMS content paths are free to be used by Wordpress pages.

Coming packed with default templates, the plugin ensures that the commerce journey is taken care of whilst including an extension pattern for additional services and functionality that doesn't break the core update pattern of Propeller.

Performance and Personalization

When rendering your content live, Propeller works with partial page caching to deliver pages at lightning speed. All static content is delivered from the regional caching layer (both increasing loading times and reducing the load on your Wordpress instance), whilst personal commerce data such as customized pricing, products or discounts are provided directly from the high performing GraphQL API endpoints. Performance and Personalization

Admin Settings

General Tab

This section contains the core communication details required to connect effectively with your Propeller instance. Your Account Manager will be able to provide you with the correct information needed for these fields.

  • API URL
  • API Key
  • Anonymous user ID
  • Catalog root ID
  • Site ID
  • Contacts root ID
  • Customers root ID
  • Default language

Pages Tab

All the pages generated by the plugin are defined here. The My account settings provide the page with the correct nested slug URLs.

Note that there are page types and short-codes listed that are planned but not yet released for the plugin.

  • Page name
  • Slug
  • Type
  • Shortcode
  • Apply R/W rules
  • Is My account page
  • Child of My account
  • Delete

Behavior Tab

  • Enable Wordpress sessions

The http user sessions from Propeller will be combined with the sessions from Wordpress.

  • Is closed portal?

    • Closed portals require users to be logged in before being able to view products and/or make a purchase. You can select specific pages you'd like to be publicly accessible when choosing to turn your webshop into a closed portal.
  • Use reCaptcha

    • All login and registration forms will be enhanced with Google reCaptcha v3. You'll need to enter a valid site and secret key for this feature to work correctly.
  • Automatic login after registration

    • When deselected, users will need to manually log in after completing the registration process.
  • Track attributes for users

    • User attributes from your Propeller instance can be entered here to use to personalize your user journeys.
  • Track attributes for products

    • Product attributes from your Propeller instance to provide additional information to the product queries.
  • Assets enqueueing type

    • This setting improves the performance of media being collected from the Propeller API
  • Check stock?

    • When selecting this option, users will be prevented from ordering more products than available.
  • Auto load product specifications

    • When deselected, the product specifications will only be loaded on the page when selecting the specifications tab on the product details page.

Translations Tab

  • Scanning content
  • Create translation files
  • Translate content
  • Manage translation files

Customization

ShortCodes and Filters

Each commerce page uses a custom short-code to render the dynamic content from your Propeller backend.

All short-codes have a corresponding php templates stored within the plugin core files at: /plugins/propeller-ecommerce/public/templates

These core templates are comprised of multiple partial templates which can be found at: /plugins/propeller-ecommerce/public/partials

E.g. the Product details page uses the template: propeller-product-details.php.

The Gallery section of the Product details page is created with this code:

<!-- Product gallery -->
<div class="col-12 col-lg-7 gallery-wrapper">
<?php echo apply_filters('propel_product_name_mobile', $this->product); ?>
<?php echo apply_filters('propel_product_meta_mobile', $this->product, $this); ?>
<?php echo apply_filters('propel_product_gallery', $this->product, $this); ?>
<?php echo apply_filters('propel_product_desc_media', $this->product, $this); ?>
</div>

This references 4 underlying partial templates:

_propel_product_name_mobile.php, propel_product_meta_mobile.php, propel_product_gallery.php and propel_product_desc_media.php._

Customizations can be made to any part of the plugin in one of three ways:

  1. By adding a filter to your functions.php file to override the default template action
  2. By adding a replacement template into your active theme folder
  3. By adding a replacement template into the Custom folder within the Propeller plugin file structure