eCommerce Solutions: WooCommerce, Gateways, Developer, Taxes

Hi WPMUDEV,

We are about to embark on a new brand eCommece site build. I wanted to use any bits of information/tips/suggestions I can find, in order to create the most secure, functional and easy store experience. That's why I'm asking you!

The basic idea is a Wordpress Woocommerce site, preferably a theme to match. Here is a basic outline of what the site will support:

Login system; Shopping cart for sales products and reservations. Calendar preferred; Package deals, discounts, campaigns; Pick up and drop off, schedule; Shipping options; Insurance options; Secure Credit card payment system; Online support.

What tools would you suggest, in support of WooCommerce to meet our goals?
WooCommerce developer? ** we can handle everything else, this would be used for highly customized content**
Any pitfalls we should be aware of?
Valuable info you think we should get into?

As always, thank you for your expertise.
- Luke

  • Sajid

    Hello Luke,
    Hope you are doing good today :slight_smile:

    Well, lots of things in a site. I am not sure for other things but for calendars and appointments, you can use our Appointments+ plugin.

    Also, you can use our Upfront Builder to create a stunning theme from scratch without writing a single line of code by using the powerful drag and drop interface.

    Above all, I would strongly recommend you using HTTPS for your website instead of old insecure HTTP protocol.

    This is now easy and free to get a SSL certificate from letsencrypt.org. Most hosting does support it out of the box and have cPanel plugin to install and automate the process.

    If you have to configure the certificate yourself then the following blog post on our blog would be really helpful.
    https://premium.wpmudev.org/blog/adding-free-ssl-https-wordpress/

    As a note for HTTPS, new version of google chrome will display an alert letting the user now this site is insecure if its using HTTP and collects credit card information as well as login/registration details.

    Take care and have a nice day :slight_smile:

    Best Regards,
    Sajid - WPMU DEV Support

    • Luke

      Hi Sajid,

      Thank you for your recommendations. I wanted to ask about your upfront builder. Does it allow you to add class and id selectors to elements, and what is it's compatibility with plugins in general (some themes/builders are more compatible with plugins than others)?

      Also, is this builder completely customizable? As in, it provides you the proper tools to build layouts from a blank page, duplicate that layout on other pages & integrate plugin data site wide?

      An example, that I have used extensively, is Visual Composer. You can add id's and classes, build from a blank page & include plugin data. But maybe your Upfront Builder has more customizability??

      Thanks again for you help,
      -Luke

      • Sajid

        Hello Luke,
        Hope you are doing good today :slight_smile:

        Thank you for your recommendations. I wanted to ask about your upfront builder. Does it allow you to add class and id selectors to elements, and what is it's compatibility with plugins in general (some themes/builders are more compatible with plugins than others)?

        Yes, it allows you to add classes to each element of Upfront. But just it goes beyond adding the classes to elements allowing you styling the content of elements right from Upfront builder using the presets.

        Just create a new presets (see screenshot) from element Settings -> Appearance -> chose or create a preset (name it for example custompreset) and change colors, fonts and padding etc right from builder/editor.

        But in case you still want to write your own custom CSS code then simply click on Edit Preset CSS next to Custom CSS label under same panel and write you own code just for this element.

        If you still really need this CSS class to use somewhere else then the preset name is used as class of the element. In this example, custompreset is the custom class to element.

        It also adds unique ID to each element that can be used but is not recommended. However, if you still need to use that ID then make sure you use it with :not pseudo class like below to avoid breaking the Upfront Builder layout.

        html:not(. upfront-edit-layout) #youeelment_id{
        /*your CSS rule goes here*/
        }

        Also, is this builder completely customizable? As in, it provides you the proper tools to build layouts from a blank page, duplicate that layout on other pages & integrate plugin data site wide?

        Yes, it is completely customizable and provides lots of flexibility that other builders don't. You can create a complete blank page by just deleting the header and footer sections for current page only while making these still visible for reset of your site.

        You can save those layouts and load it later on other pages too.

        To create a page layout, edit a page in Upfront Editor and make sure you make some changes actually so its different than default page template. Now go to Page Settings -> Templates, click on save, give the layout a name and click green okay button to save this layout. Don't forget to save the whole page after making changes.

        Later on you can simply load the layout from Page Settings -> Templates while editing other pages in Upfront Editor. Just select and apply.

        Upfront compatible with almost all major plugins out there specifically WooCommerce and MarketPress. However, you may only get some issues with plugins that are using Virtual Pages.

        Take care and have a nice day :slight_smile:

        Best Regards,
        Sajid - WPMU DEV Support

          • Adam Czajczyk

            Hello Luke!

            Our Upfront is based on quite different principles that VC and it works in a bit different way. There's no "content elements" of that kind as you build your design/layout with Upfront but not "build upon post/page" like in VC. There are modules such as e.g. "Text", "Slider", "Button", "Accordion" and some other but the important difference in comparison to VC is that those elements are not to be used in content/to build content but in layout/design (like in page/post template in regular themes).

            I think you might find this docs very handy as it explains Upfront structure and how it works:
            https://premium.wpmudev.org/manuals/upfront-structure/

            It may be also helpful to play a bit with Upfront demo online that you'll find here:

            http://demo.upfront.pro/

            Best regards,
            Adam

          • Luke

            Thanks Adam, that's exactly what I wanted. Examples.

            I am very interested in working with this. How would you say it is with things like custom fields and custom child template alterations?

            Thanks again for getting me the important information on this.

            I am fluent in HTML, CSS and Wordpress. With a working knowledge of PHP & a little Javascript. Looking for a theme/builder in which I can turn designs out completely unique to themselves, but on the same framework. Build my own header and footers. Trying to get away from purchasing different themes every site I build.

            Thanks again!
            Luke

          • Adam Czajczyk

            Hello Luke!

            Custom fields shouldn't be an issue here, I think but I'm not sure what do you mean by "child templates" in that case. Are you asking about child themes? If yes, then please note that in fact each Upfront theme - regardless whether it's one of our starter themes or a theme that you build from scratch using Upfront Builder plugin - is a child theme already, a child theme of Upfront theme.

            While "technically" it is often possible to create child-child theme (grandchild theme) with regular WP themes, that won't work well with Upfront.

            However, you can use Upfront Builder to build your own themes for Upfront from scratch and also you can create multiple "layouts" (being sort of "equivalent" to a custom template file) with Upfront. The point of Upfront is to keep you "away" of any code as much as possible. There are cases when some code (mostly CSS) is very useful but that code should be added via Upfront built-in tools, not directly to files :slight_smile:

            I think it would be best if you just spend some time with demo but also you might want to just setup a simple site (a standard WP default install would do) and give both Upfront and Upfront Builder a try there to find out about all its features and get used to it. There may be some learning curve involved as it's quite different than other "builders" but once you get to know it and get used to it, I think you'll find it very handy :slight_smile:

            Best regards,
            Adam

          • Luke

            Hello Adam, I was trying to replicate a site build I had created earlier with Visual Composer with your Upfront Builder, but I was having trouble.

            First of all, when I try to save my page layout (Save Theme), I get the spinning wheel of death. As in, it never actually saves :slight_frown:

            In adding WooCommerce products, is that strictly through shortcodes or widgets? I don't see the option to add widget areas?

            I would really like to use the builder, I just need to know I can easily add elements.

            Thanks!
            Luke

          • Dimitris

            Hey there Luke,

            hope you're doing good and don't mind chiming in! :slight_smile:

            As this is a rather long thread started with suggestions and recommendations rather than an actual issue, could you please create a new thread about that?
            https://premium.wpmudev.org/forums/#question
            https://premium.wpmudev.org/docs/getting-started/getting-support/
            A representative from our team will be in touch with you as soon as possible to pinpoint and resolve this not-saving UF Builder issue.

            Meanwhile though, you can try to increase the memory allocated to PHP a bit more by editing wp-config.php file and insert the following line just above the /* That's all, stop editing! Happy blogging. */ comment
            define('WP_MEMORY_LIMIT', '256M');

            If this has no effect, please enable some debug information to provide to your new thread. Simply access your server via FTP, edit the wp-config.php file, find a line like
            define('WP_DEBUG', false);and replace it with the following (if the above line doesn’t exist, simply insert next snippet just above the /* That's all, stop editing! Happy blogging. */ comment)

            // Enable WP_DEBUG mode
            define('WP_DEBUG', true);
            // Enable Debug logging to the /wp-content/debug.log file
            define('WP_DEBUG_LOG', true);
            // Disable display of errors and warnings
            define('WP_DEBUG_DISPLAY', false);
            @ini_set('display_errors', 0);

            Then go ahead and try to replicate the error by saving the UF Builder and regenerate the endless spinner. By doing so, a /wp-content/debug.log file should be created. Simply download it, rename it to debug.txt and attach it here in your next reply. If file size of text file exceeds the 5MB limit of our forums, please use a service like Dropbox and post the shareable link instead.

            Finally, you should be able to insert widgets everywhere in your layout via Upfront, there're no sidebars to use from backend.

            Warm regards,
            Dimitris

  • Adam Czajczyk

    Hello Luke,

    I hope you're well today and thank you for your question!

    Let me start with your basic requirements:

    Login system; Shopping cart for sales products and reservations. Calendar preferred; Package deals, discounts, campaigns; Pick up and drop off, schedule; Shipping options; Insurance options; Secure Credit card payment system; Online support.

    "Login system" - that is supported out of the box by WordPress; there are many tools (plugins) that can enhance/change the default registration/login scheme/behavior but the default setup would handle that well anyway;

    "Shopping cart for sales of products and reservations. Calendar preferred" - product sales (both "physical" and downloadable) is a core of WooCommerce so that would be handled "out of the box too";

    Reservations are not handled by WooCommerce core but there are several plugins extending it that will help you deal with reservations (including nice "calendar view"). Here are some examples:

    https://wordpress.org/plugins/woocommerce-easy-booking-system/

    https://wordpress.org/plugins/woocommerce-accommodation-bookings/

    https://woocommerce.com/products/woocommerce-bookings/

    Pick up and drop off. Shipping options. Insurance

    - you can use multiple delivery options with WooCommerce, see here please:

    https://docs.woocommerce.com/documentation/plugins/woocommerce/getting-started/shipping/core-shipping-options/

    schedule

    - I'm not quite sure what do you mean by this in context of WooCommerce, could you please elaborate a bit on this?

    Package deals, discounts, campaigns

    - WooCommerce supports "coupons" so they can be used for discounts; For "package deals" there's some additional plugins that add that feature to it, for example:

    https://wordpress.org/plugins/yith-woocommerce-product-bundles/

    https://wordpress.org/plugins/wc-product-bundles/

    https://woocommerce.com/products/product-bundles/

    I'm not sure though what do you mean by "campaigns" here so it would be great if you could tell me a bit more about how that should work on your site.

    Secure Credit card payment system;

    WooCommerce and other "e-commerce pluglins" do not handle payment processing directly but they are using "payment gateways" such as e.g. PayPal, Stripe and other. Those gateways are implemented in plugins according to official specifications so the data about purchase is submitted to the payment gateway and all the other aspects of payment are processed there. There's as much security implemented as possible so it's mostly up to you to make sure that your site is secure. The most important and essential part is to make sure that your entire site is protected by SSL (e.g. Stripe forces you to use SSL, otherwise they will not even allow you to perform real transactions!).

    You'll find a list of currently supported payment options for default WooCommerce installation here:

    https://docs.woocommerce.com/documentation/plugins/woocommerce/getting-started/sell-products/core-payment-options/

    and some additional extensions adding more payment gateways here:
    https://woocommerce.com/product-category/woocommerce-extensions/payment-gateways/

    Online support.

    - you would most likely want to use a 3rd-party solution for this; You might want for example give our "Support System" plugin a try:

    https://premium.wpmudev.org/project/support-system/

    There are also other plugins of that kind around but in order to be able to give you more accurate recommendation, I'd need to know a bit more about your requirements for how such support should work.

    Any pitfalls we should be aware of?
    Valuable info you think we should get into?

    WooCommerce is a popular solution so I think it's a good choice. However, personally I do not run any store and I never did on a larger scale so I think it might be better if other Members of our community could share their experience on this with you. I could move your post to our "Members" forum where I believe they would share some useful tips and ideas on this with you. Let me know please if you want me to do this :slight_smile:

    Have a great day!
    Adam