Shipping Setup Guide & Tips

WP EasyCart offers an abundant amount of shipping options all within a low-cost plugin, but that doesn’t mean the options are not as powerful as some competitors plugins.  The shipping options of an online business can be confusing, and often difficult to setup regardless of the plugin used and the configuration needed.  When you consider all the facts that need to go into a good well rounded shipping system, it can easily be overwhelming.

This guide is to help you consider some of the many options EasyCart has to offer.  While I will be the first to say we do not offer ALL shipping configurations and options one could conceive, we do offer a good well rounded majority of choices that many businesses can adopt.

First Tip:    Before you read further, consider every software package is built for the masses, so if you have developed a shipping system that MUST be used, reconsider as it may not be conventional at all and/or have a small portion that will not conform to any software package…  be flexible as you explore options in software.

 Second Tip:  Are your products shippable.  Not every item in EasyCart is made to apply to shipping charges.  Downloads and Gift Cards for example are digital goods, they will not trigger shipping charges on checkout.  Also consider if you have a weight for a product!  If you enter a weight of 0.00 for a product, then it’s considered intangible good like a service… so shipping will not apply.


Step One:  Determine your Shipping System

WP EasyCart offers a variety of systems, all fit different businesses, different models, and will likely cover at least a good portion of what shipping system you need in your business.



Price and Weight Table Rate – These methods use triggers to establish shipping prices.  The are extremely stable if you set them up correctly and provide a quick return on shipping rates.  You essentially enter either a price or weight that you want to trigger and the rate it should show.  So you start with a trigger price or quantity  of 0.00 and then establish a rate, say $5.00.  Then at maybe $50 dollars you want to trigger a rate of $7.50 and then at $100 you want to trigger $10.00.  so on and so forth.  Same goes for weight, if a user has a total weight order of 5 in their cart, then trigger $x.xx amount, so on and so forth.  Remember that weight in EasyCart is just a numeric value… it can represent pounds or ounces, you set the measurement of calculation in various places where appropriate, such as live shipping gateways which use this.   Easy to setup, and easy to see working.

Percentage Table Rate – This method is the same as price and quantity, except you simply establish a set percentage when a trigger price range is reached.  Say from $0.00 to $99 dollars you want to charge 10% shipping, and then from $100 – $500 in cart total you want to charge 7.5% in shipping, this method allows you establish tiered pricing using  a percentage of their order.  Again, very easy to setup and very reliable system.

Quantity Table Rate – Like the other table rates, quantity table rate shipping simply adds the total in the cart.  This can be appropriate if you need to track how many items there are and then charge appropriately.  Set a quantity trigger, and then the price to charge.  The quantity table system only looks at products, so if you have option sets that change quantity, it will likely not be affected.  So this may work in your situation, or it may not.  It’s reliable and easy to setup.

Static Method Rates –  These are by far the most reliable shipping methods available.  Set a name for the static shipping and a rate… that’s it.  So if you always ship ‘Standard Ground’ and charge $5.00 for it, use this method.  Customers always see the correct list of options.  You can create several shipping methods using this option, such as a ‘Ground’, ‘Next Day Air’, ‘Express’, ‘In Store Pickup’ or whatever you need.  It gives you control over labeling, pricing, and options available to customers.

Fraktjakt – This is primarily only available to swedish residents, but a popular option that allows customers to select from several live carrier rates and get current up to date rates.

Live Shipping – UPS, FedEx, USPS, DHL, Australian Post, and Canadian Post have all been pre-integrated with EasyCart.  Live shipping can be intriguing and many businesses think they want live rates, but there are a few considerations before you choose to go this route.  Every detail must be accounted for on your part of the setup.  If you think you can just offer UPS Ground, think again…  Hawaii, international orders, they will see error messages with that setup.  If you offer only Express and 2nd day air, think again, some cities don’t offer all services… so those customers will see error messages.

Live shipping can be difficult to understand, but the key to it is to consider every single variable in the shipping world and it needs to be setup.  If you are game to tackle this, then we can show you some tips.

1.  Setup one shipping carrier first, get it working, connected, and then move on to another carrier.

2.  Include as many shipping codes as you can.  I realize you may just want ‘ground’ and ‘2nd day air’ but those may not be available in all cities or locations.  Adding more shipping codes means that you will likely get more to show to the customer and also less errors and holes in your locations.

3.  Do not apply shipping zones.  We will discuss this later, but if you only ship to US and Canada, don’t create zones for that.  The purpose of zones is to provide different rates, not limit who can buy on your store.  Get the entire shipping system working for your default country, whether that be US, Canada, Europe, Australia, or wherever…

4.  Use as few shipping carriers as possible.  It may be nice to show FedEx, USPS, UPS, and DHL, but that’s 4 calls to 4 carriers during checkout and can greatly slow the system down.  Try to stick with one or two.

5.  If you want to offer free shipping, simply add a common shipping code, such as ‘Ground’ and then override the price with $0.00.  You can even override the name of it and say ‘FREE shipping’ so customers have that as a selection.

6.  Even if you enter 6, 7, 10 shipping codes, EasyCart will only display what the carrier returns for that location.  So your customer may only see 1, 2 or 3 rates.  This is why we really suggest testing.  We have found some cities require select shipping codes if shipping within the same city.  If you have zero rates returned, we suggest you look at your settings zip code and the zip code during checkout and contact your carrier to see what rates are available.

7.  IF you have negotiated special rates with your carrier, we will try to display those instead of general rates.  AGAIN, test, test, test…  you are the web developer and that is part of the job!



Step Two: Test Your System

We can not say it enough, but as a WordPress user you are likely taking on the task of making a website yourself.  Part of that job is to test your system.  Don’t assume it should just work or is working without going through the entire checkout process as a customer would.  This would be like fixed someones automobile as a mechanic and then assume it’s fixed and hand the vehicle over to the customer.  Always check to see if it is working as desired and fix accordingly.



Even when using basic table rate shipping systems, we have seen gaps in triggers, which means there is no rate going to show up.  We have seen live shipping setups without any shipping codes, which means no user will ever be charged shipping.




Step Three:  Adding Shipping Zones

IF you feel you need to have a shipping zone, then you must be thorough about your setup.  Shipping Zones is not for the faint of heart.  You must have a thorough knowledge of what it means to setup a shipping zone, and DO NOT use shipping zones to limit who can buy from your store.  That is not the purpose.  IF you want to remove china or any country from ordering, do so by removing the country from the pull down of countries within the store admin -> settings -> manage countries.



Third Tip:  Think of shipping zones as a post-address filter.  It only works AFTER the customer has entered their billing/shipping address information.  NOT when a customer just views the shopping cart.

So you decide you want to setup different rates for the US versus Australia versus Canada…  EasyCart can do that, but only with the right setup.

1.  Setup all of your shipping for your default country with ‘Do Not Apply Zone’ for every setting.  Whether using table rates, static, or live rates, set it up first without any zones.

2.  Test to insure it’s working for your default country.  What this will do is establish a ‘Default’ rate that all customers will see when they simply add an item to the shopping cart and view the cart.  Remember, they have not entered their address yet, so without a default, they would just see $0.00 for shipping, and it’s better to supply SOME type of shipping in the cart.

3.  Once all your default shipping is working, now you can setup a shipping zone.  Lets say you are in australia, and you setup all your shipping for australian customers.  Now you can add more shipping prices, triggers, or live shipping codes and add a shipping code.  So maybe you use Australian POST live rates, you could add ‘International shipping’ with a shipping zone of ‘North America’.  IF easycart sees a user checking out from anywhere in North America, it will apply International Shipping code that you applied.  If someone from Europe ordered, it would not see this ‘Post Fitler’ and just apply default shipping codes.

4.  This means if you use, for example, Price or Weight table rates, you would setup an entire table structure with ‘Do Not Apply Zone’ and then you would create an entire table structure for  each zone.  It’s necessary that you do not have any gaps, so 10 trigger rates would be added for default, then north america, then europe, then asia, so on and so forth.  This way you do not have any gaps…

Fourth Tip:  If you get confused, create a simple spreadsheet, list out the ‘Shipping Method’, ‘Trigger Rates’, and the ‘Rate expected’ and you can see how vast the options can become.  Now throw in a shipping zone and see things multiply!  Pre-Planning is important and can become overwhelming



Step Four:  Handling Fees and Expedite Order Options

EasyCart has tried to make shipping as flexible as possible, without getting overly complicated that nobody could set it up.  Two options that are common are to add a handling fee.  Let’s say you have a trigger rate system or live shipping system, but want to add a simple $5.00 handling charge to it, we provide a quick way to do so.  Another option is to do it at the product level.  Only add a handling charge to a product IF you enter it at the product level under advanced pricing options.  A great example is a furniture store… a couch may incur an extra large handling fee on one product, while the rest of the products may be just regular shipping rates.



We also offer an ‘Expedite Shipping’ option.  This can represent anything you want, maybe same day processing or actually a shipping expedite upgrade.  You can choose to enter that for trigger rates or not.

Fifth Tip:  Don’t be afraid to be a little off on shipping.  If you get fairly close on shipping costs, it usually will come out in the wash.  Consider the time and hours it may require to setup a perfect shipping solution versus setting up a really good solid simple solution easy for customers to understand and you may come out neutral.




Step Five:  Keep It Simple Stupid (KISS)

As a web developer or business owner who is building their own website, the old web design rule of keeping it simple stupid should apply…  Try to keep things to a minimum because if it’s hard for you to figure out, your customers may find it impossible to understand.  Many visitors want a choice or two on shipping, or to have it simply calculate automatically… which makes trigger table rates a good choice.   Static rates work great for flat rate type orders… giving customers simple pricing that is consistent and accurate.

The fewer intricate details you try to build into your shipping system the fewer errors you will receive on shipping, the less over and under charging you will receive, and the more conversions can be had by doing so.  Fewer errors, fewer complaints, and more conversions is what every store owner wants!  Keep It Simple…

Sixth Tip:  Remember EasyCart is an $80 dollar plugin made for the masses in WordPress.  If you NEED a solution that you do not see, you might consider ramping up to an Enterprise shopping cart solution and spend the thousands it costs to attain your specific customization.

EasyCart Child Themes and Layouts

What is a EasyCart Child Theme and Child Layout?

Beginning in version 3 of the WP EasyCart, we offer developers the option to keep the latest theme and child files up to date automatically as the plugin upgrades without having to manually upload the latest store theme and store layout! This is a great option to help developers keep their clients’ stores up to date and functional at a single click of the button. With this great new feature we know developers still need the ability to override certain files, images, css, etc… In order to make the store customized for their specific project (a great example of this is customizing the email receipt).

This is where a child layout becomes an extremely important feature! Child themes and layouts allow you to specify a child theme or layout folder in which you can place individual files to override a specific functionality of the store, while simultaneously allowing your theme and layout to keep the latest features for the rest of store.

How Does the Store Find a Layout or Theme File?

Every file loaded from the design folder of your shopping cart system goes through the following check to find the correct file:

  1. Does the file exists in the plugins folder at wp-easycart-data/design/layout/{your selected child layout}/file.php?
  2. If not, use the latest file in the wp-easycart/design/layout/base-reponsive-v3/file.php

This applies exactly the same to the theme folder and can be useful for specifying a custom image not found file.

How to Set Up and Specify a Child Design

Setting up and specifying a child theme or child layout is quick and easy! First, add a new folder in the wp-easycart-data/design/layout/ folder (something like my-custom-layout) and repeat this for the wp-easycart-data/design/theme/ folder. Next, go to the WordPress Admin -> WP EasyCart ->  Settings -> Design area and select your newly added custom theme and/or layout folders in the drop down boxes.

That is it! Your store will now look first in your custom child theme folder and next to the latest files in the main plugin. To override any files you should first copy the file you are editing to your custom theme folder and make your corrections there (custom changes should be in the wp-easycart-data folder).

V3 released in time for the holidays!

Just in time for the season!  We have been busy building this latest version for the past 3 months and it really shows.  The entire front end of easycart has received a major revision and updated look.  Don’t let the looks detract though, as this entire front end system now is highly configurable and will increase sales with better conversion rates and higher usability from product to checkout.

New Product Displays

Products are now highly configurable on a ‘Per Page’ basis.  Meaning you can set columns and animation for each page individually on your website.  With our new ‘On-Screen’ sidebar editor, you can setup the store  while you see it on your computer.




New On-Screen Editor

Logged in as an admin, you can now change store designs from pre-designed layouts to picture hover effects.  Basic color adjustments are easy as well as responsive settings for different devices.  While EasyCart is meant to make it easy for you to sell goods, it is also easy for your customers to utilize.

You can even setup how many columns best fit in your theme and on each device such as tablets and phones.



 Preview on  Devices!

One of the great new features we have is our responsiveness to the design.  Not only can you adjust columns for the products, product details, and shopping cart for various devices, but now you can actually click our device preview and see your site in action.  Preview it on an ipad landscaped, ipad portrait, or iphone landscape and portrait.  This real time previewing will save you time as a developer or site designer and insures your work will be seen on various devices.




Beautiful Product Detailed Displays

The entire process was redesigned at the product detail level.  Making  for a cleaner styling and easier shopping experience for customers will convert more users into clicking that ‘Add to Cart’ button.  You can even choose to have the layout in 2 columns or 1 column for individual devices and orientations.




Upgraded Checkout Experience

We also worked out a better checkout design that is responsive and can fit into any theme.  Fitting a lot of flexible options into a checkout process is a difficult process for shopping cart makers like ourselves, but with V3, we feel we hit the nail on the head with this checkout process being flexible enough to accommodate all our features, yet streamlined and easy to look at and responsive enough for a phone.




Interested in more?

Just check out our working demos at and see for yourself how easy the shopping experience can be, how vivid the design can integrate into your theme, and how you can start selling this holiday season quickly and easily with the most feature rich WordPress shopping cart solution on the market.


GoDaddy Shared Hosting Now an Issue

Hosted Through GoDaddy’s Inexpensive Shared Hosting Plan?

Hosting on GoDaddy and seen this lately: “Returned Fault: NetConnection.Call.Failed”? You’re not alone…

As of sometime around July 22, 2014, GoDaddy has implemented what are called “Phase 2 mod_security rules”. These rules are extreme and, according to GoDaddy, necessary to preventing brute force attacks on their WordPress installs. What is so awful about preventing these attacks? Well in this case they block any IP that accesses a script repeatedly over a short period of time. This means any application, by any company, that accesses a gateway for a phone application, web application, or AJAX application will be temporarily banned from the site. You can see this for yourself by accessing the WordPress “admin-ajax.php” file that is used to run any behind the scenes data pulls that can make your site look so fancy. It also means that the WP EasyCart admin consoles will lock up after a few clicks around, which is less than ideal.

Minimal Good News

The very little good news we can provide is that although your IP is temporarily blocked, no other users on your site will have the same experience. This means downtime for you, but not for your sales, which is a small win in this situation. That is all we can find for our shared host GoDaddy users though.

Solutions to This Issue

  • Contact GoDaddy and ask them to “white list your IP address for the mod_security on your host”. This will prevent their security measures from blocking you on your own server. You can find your IP address by typing in, “what is my IP” on Google. Keep in mind, you will need to have them white list any IP that will be accessing the site using the WP EasyCart admin tools.
  • GoDaddy suggests that you upgrade to a VPS server and this option has been verified as a solution by multiple customers.
  • Switch hosts, GoDaddy appears to have implemented this to upsell their customers from their very low priced services. Blue Host has speeds of 4-5x that of GoDaddy for WordPress installs and we highly recommend them.

Error Log Through Testing

For your reference, if you are interested in seeing what GoDaddy is doing exactly with their servers:

  • [Wed Jul 23 23:21:56 2014] [error] [client XX.XXX.XX.XX] ModSecurity: Access denied with connection close (phase 2). 1 [file “/web/httpd2/modsecurity.d/activated_rules/modsecurity_gd_07_post_guardian.conf”] [line “36”] [id “XXXXX”] [msg “BLOCKED – Bot detected! Score: 54:4:36:0:1:95”] [hostname “”] [uri “/wordpress/wp-content/plugins/wp-easycart/inc/amfphp/Amfphp/index.php”] [unique_id “XXXXXXXXXXXXXXX”]
  • [Wed Jul 23 23:21:56 2014] [error] [client XX.XXX.XX.XX] ModSecurity: Access denied with connection close (phase 2). 1 [file “/web/httpd2/modsecurity.d/activated_rules/modsecurity_gd_07_post_guardian.conf”] [line “25”] [id “XXXXX”] [msg “BLOCKED – Automated Attacks(cached)”] [hostname “”] [uri “/wordpress/wp-content/plugins/wp-easycart/inc/amfphp/Amfphp/index.php”] [unique_id “XXXXXXXXXXXXXXX”]
  • [Wed Jul 23 23:21:56 2014] [error] [client XX.XXX.XX.XX] ModSecurity: Access denied with connection close (phase 2). 1 [file “/web/httpd2/modsecurity.d/activated_rules/modsecurity_gd_07_post_guardian.conf”] [line “25”] [id “XXXXX”] [msg “BLOCKED – Automated Attacks(cached)”] [hostname “”] [uri “/wordpress/wp-content/plugins/wp-easycart/inc/amfphp/Amfphp/index.php”] [unique_id “XXXXXXXXXXXXXXX”]

Stripe Integration with Subscription Services

The latest release of 2.1.6+ of EasyCart now includes a great new and powerful payment processor that is our new favorite.  The Stripe payment gateway solution is now complete and we included a full subscription/membership system into EasyCart as well.  Now you can offer a recurring payment product to your customers and they can signup directly on your site.  All payment information is synced up with the Stripe payment processor and allows complete customer and administrative control.

Build Subscription Products

From EasyCart, creating a subscription is as easy as setting up any product.  Simply check that it is a subscription, pick how often you want the recurring payments to occur, pick a url if you like for them to access membership content (optional), and whether there is a trial period and the EasyCart system does the rest.  Customers will see the subscription product like any other product, except they will see a ‘Sing Up Now’ button instead of ‘Add to Cart’ button.


Once users sign up, information is approved by Stripe and the subscription is placed into the EasyCart subscription system along with their first order being placed.  Each recurring payment will appear as an order in your system.

Administrate Subscriptions

EasyCart administrative tools are completely integrated to communicate with Stripe and allows you to pull up subscriptions, upgrade or downgrade customers, cancel their memberships, and review all related information regarding their subscription.  You can also see a quick payment history of their subscription.



Customer Subscription Management

Customers also have access to a complete subscription management area from within their account.  Customers can quickly update their credit card information, upgrade or downgrade their subscription, change billing address information, and/or cancel their membership at anytime.  This gives you the store owner less support and interaction with members as they can do all administrative tasks directly from their account.



Membership Content

One of the great features we offer with our subscription services is an easy to setup membership area system.  Simply create a new WordPress page, apply our members only shortcode, and then only logged in subscribers can access the new content.  This makes a great way for you to feed membership content to customers who have purchased a subscription if that is required by your business.




Matching the Store Page Setting for a Kriesi Theme

If you haven’t already taken a look at the site, you should look now. This  site has some of our favorite themes out there and all use the “avia framework” to help you and your client build outstanding content using some really nice visual editing tools. The one problem we run into is that the WP EasyCart theme is that this theme is not setup to use custom post types and their visual editing tools. For example, if you set your store page to use a left sidebar, but your default sidebar on the right, then all your product and store items will appear using the default. For many of us, this is a pain, but no worries, there is a way around it!

  1. Have the WP EasyCart version 2.0.16 or greater.
  2. Go to your WordPress Admin -> EasyCart Admin -> Store Setup -> Advanced Options and turn the “Match Store Page Meta” to “On”.
  3. You now must find the array that holds the “boxes” setup values for the avia framework. In this array, add the value “ec_store” to the ‘page’ types that are allowed to use the avia options. The file in the Choices theme is located in choices/includes/admin/register-admin-metabox.php, right at the top of this file. Image below for your reference.
  4. Go to your store page, adjust the avia settings as needed, then update the page. If you do not need to make adjustments, still hit the update button to update all store posts.



If you are using the enfold theme, this file according to the Kriesi site is located here: /enfold/config-templatebuilder/avia-template-builder/config/meta.php.

Once you have updated this file, saved, and uploaded back to the server, you should begin to see the store page match up to your products.

Second Method Using Custom Widget Sidebar

Some of you may find it easier to use a custom page sidebar. This allows you to have a custom sidebar only for the store pages. This setting is available in the theme settings (this was completed in the Chioces theme) in the sidebar section.



Once you have this created, go to your widgets section and add the appropriate widgets to this new custom sidebar.



Now that you have your widgets, you need to ensure this custom sidebar shows up for all store items. This requires some custom code. To do this, open your “sidebar.php” in your Krieisi Theme. Look for the place where it sets the following variable:

$custom_widget_area = avia_check_custom_widget( ‘page’ );

Below this line, add the following:

if( get_post_type( $post->ID ) == “ec_store” ){
$custom_widget_area = “store”;

You need to exchange the text ‘store’ for the name of your sidebar. This will be the name above labeled “Page: store”, e.g. Your site might be “Page: shop my store” and in this case, use the $custom_wwidget_area = “shop my store”.

Javascript Validation Customization

The WP EasyCart is setup to validate at the very minimum for non-US customers. This is because validation requirements vary so much from country to country. To make the system as flexible as possible, there is the opportunity to add custom validation for each and every country and a backup validation for those countries that are not specifically specified.

All validation is available in your theme folder, wp-content/plugins/wp-easycart-data/design/theme/{your theme}/ec_validation.js

If you do not know what your theme is, click here to learn how to figure that out.



As you can see from this function example, the javascript validate function takes a ‘function_name’ and a ‘country_code’. If your country had, for example, a specific address format, you could edit the way the ‘input’ value is validated. If you often sell to the US and UK, you could add an ‘else if’ statement to validate the two countries differently.

Here is a nice example of how you would improve the state validation to check for a correct entry of a Canadian province. The addition is the ca_provinces variable as well as the ‘else if’ for the ‘country_code’ “CA”.


Where to Find the Correct Layout File

We get many requests that ask, where do I find it!? This is the hardest part of learning any new system and being able to leverage it in your project. Hopefully some of this will be cleared up below. All of the following information is related to files located in your EasyCart store layout in the wp-easycart-data/design/layout/{my layout}/ folder.

For information in finding your selected layout click here.

The Product List/Grid Page

  • The Product Page – This is the main holder for the entire store page when displaying a list/grid of products.
    • ec_product_page.php
  • The Filter Bar – This is the bar that appears above the list/grid of products and includes a sort box, items per page links, and page set links.
    • ec_product_filter_bar.php
  • The Product- This is a product displayed in a grid format. It is pulled in for each product that is displayed on the given page.
    • ec_product.php
    • Made up of two parts, a quick view popup box followed by a holder for the product.
  • The List Type Product – This is not available in all layouts, but when it is used, it displays a product in a list format. It is pulled in for each product that is displayed on the given page
    • ec_product_list.php

The Product Details Page

  • The Product Details Page – This is the shell for the entire product details page.
    • ec_product_details_page.php

The Cart

  • The Cart page – This is the shell for the entire cart page and is what decides which elements of the cart to display.
    • ec_cart_page.php
    • Includes empty cart container, continue shopping button, checkout button, payment page order message, and the submit order button.
  • The Cart – This is where the customer sees items they have added to their cart.
    • ec_cart.php
    • Includes the column headers, container for cart items, gift card input, coupon code input, estimate shipping input, and the totals box
  • The Cart Item – This is the repeated container that displays the unit price, quantity, total price, options selected, title, and image.
    • ec_cart_item.php
  • The Cart Login Panel – This is the area where the customer can log into their account or proceed as a guest.
    • ec_cart_login.php
  • The Cart Logged In Panel – This is the line that tells the user they have logged in or proceeded as a guest that is displayed above the billing, shipping, and contact information.
    • ec_cart_login_complete.php
  • The Cart Billing Information – This is where the user inserts their billing address information.
    • ec_cart_billing.php
    • Includes the option radio box to use a different shipping address
  • The Cart Shipping Information – This is where the user inserts their shipping address information.
    • ec_cart_shipping.php
  • The Cart Contact Information – This is where the user inserts their first name and last name and, if checking out as a guest, their email address and optional password.
    • ec_cart_contact_information.php
  • The Cart Shipping Method – This is the container for the available shipping methods.
    • ec_cart_shipping_method.php
  • The Cart Address Review – This is the area in which the customer can review their entered billing and shipping information and check the selected shipping method.
    • ec_cart_address_review.php
  • The Cart Payment Information Selection – This is where the customer can pick and enter their selected form of payment.
    • ec_cart_payment_information.php
  • The Cart Success Page – This is the page that displays the receipt to the customer after an order has been completed.
    • ec_cart_success.php
  • The Third Part Redirect Page – In cases where the javascript redirect fails for third part checkouts, the form is displayed on this page.
    • ec_cart_third_party.php

Order Receipt

  • The Emailed Receipt – This is the layout of the email receipt sent to the customer on order completion.
    • ec_cart_email_receipt.php
  • The Printable Receipt – This is the layout of the printable version of the receipt which is accessed from a print button on the account order details page.
    • ec_account_print_receipt.php

The Account

  • The Account Page – This is the main shell for the entire account.
    • ec_account_page.php
  • The Login Page – This is where the customer logs into their account.
    • ec_account_login.php
    • Includes a link to forgot password and to register
  • The Forgot Password Page – This is where the customer can retrieve their password.
    • ec_account_forgot_password.php
  • The Password Recovery Email – This is the emailer sent to the customer about their password
    • ec_account_retrieve_password_email.php
  • The Register Page – This is where the customer can register for an account.
    • ec_account_register.php
  • The Dashboard – This is the landing page for a user that is logged into their account when they reach the account page directly.
    • ec_account_dashboard.php
    • Includes column headers for recent orders, container for recent orders, and containers for basic user information
  • Edit Billing Page – This is the page where a customer can edit their billing information.
    • ec_account_billing_information.php
  • Edit Shipping Page – This is the page where a customer can edit their shipping information.
    • ec_account_shipping_information.php
  • Edit Password Page – This is the page where a customer can edit their password.
    • ec_account_password.php
  • Edit Personal Information Page – This is the page where a customer can edit their personal contact information.
    • ec_account_personal_information.php
  • View Orders List – This is the page where a customer can see a list of their orders and click view more for each.
    • ec_account_orders.php
  • Single Order Line Item – This is the line item you see on the dashboard and in the order list.
    • ec_account_order_line.php
  • Order Details Page – This is the page that shows all the information relating to the order.
    • ec_account_order_details.php
  • Order Details Item – This is the individual product in the order details.
    • ec_account_order_details_item_display.php

What Makes Up a WordPress Store Design

A WordPress site is made up of the WordPress structure, a theme, plugins, and content. A WordPress theme is what makes the website look a specific way to the customer. It is made up of css, javascript, and php which depicts how the website is displayed to the viewer. Once setup, a website owner can then add and develop content as they see fit. Many website owners need a way to sell products and this is where the EasyCart comes in. The EasyCart is built with the same structure of WordPress and is made up of css, javascript, and php. The EasyCart, however, is a plugin and is loaded after WordPress loads and because of this requires its own css and javascript to make it function correctly.

The WP EasyCart is made up of the EasyCart core, an EasyCart theme, and an EasyCart layout. The EasyCart core is overwritten on each and every update. These files can be edited by a developer who understands php, but should be done with the realization that the plugin should not be updated on a regular basis. The design files (layout + theme) can be created, reused, and are never overwritten.

Layout and theme files exist in two places: wp-content/plugins/wp-easycart/design/ and wp-content/plugins/wp-easycart-data/design/. The system first looks in the wp-easycart-data folder and should be the place you upload and maintain your EasyCart designs. For some users, their severs will not allow us to make the new directory and because of this we have a fall back to the wp-easycart folder. If you are on a server and see this happening, we recommend creating the wp-easycart-data folder manually, then copy the design folder from the wp-easycart folder. This will prevent data loss in the future.

The layout files of a WP EasyCart can be thought of as the shell. They are a series of php function calls that pull in the pieces of the store in a particular location. Most of the time the pieces of the shell pull in content to a div tag, which is then styled by the CSS. This allows a designer to move the pieces around as they are needed to create any look they want.

The theme files of a WP EasyCart is what makes the store, account, and cart pages display properly to the user. The css and javascript can be edited to create any look and act in any way necessary.