WooCommerce extension updates & releases

WooCommerce Social Login 2.0

…works don’t ever even provide an email address to our plugin — Twitter and Instagram are the major ones that do not provide email addresses. As a result, unlinking Twitter or Instagram accounts could result in duplication. This is for security: while we can assume an email address represents a unique person, we can’t assume a Twitter handle or Instagram username represents a unique person, so once unlinked from an account, we could never re-link t…

Read More

WooCommerce extension updates & releases

WooCommerce Memberships 1.7: Member emails, New Plan Options, and more

…bsite itself: WP-CLI is a set of command-line tools for managing WordPress installations. You can update plugins, configure multisite installs and much more, without using a web browser. WooCommerce added support for WP-CLI in v2.5 – there’s an extensive set of commands which you can use to manage your WooCommerce installation, including orders, products, coupons and more. Memberships WP-CLI is built on top of the WooCommerce WP-CLI implementation…

Read More

Guide to Migrating Your Plugin to WooCommerce 2.0

…s. With 2.0 the WC_Product class is made abstract, meaning that to try and instantiate it is to be hit with a Fatal Error. The fix is to use the new product factory class to retrieve a new product instance, which you can do in a forwards/backwards compatible manner like so: /** * Gets the identified product. Compatible with WC 2.0 and backwards * compatible with previous versions * * @param int $product_id the product identifier * @param array $ar…

Read More

How to increase the average order value at your WooCommerce store

…be more likely to make bigger purchases if they’re able to pay in monthly installments. There are a number of companies now offering installment payments for eCommerce stores, including Klarna (free extension at WooCommerce.com) and Affirm (free extension at WooCommerce.com). But if you want to bring the entire process in-house, you can use an extension like WooCommerce Deposits ($179/year at WooCommerce.com). You can use that extension to create…

Read More

WooCommerce reviews + tutorials

Widgets, Part Deux: Create a Smart WooCommerce Widget

…ocommerce_template_single_meta() to do so. public function widget( $args, $instance ) { // Only show this if we’re looking at a product page if ( ! is_singular( ‘product’ ) ) { return; } // get the widget configuration $title = $instance[‘title’]; echo $args[‘before_widget’]; if ( $title ) { echo $args[‘before_title’] . wp_kses_post( $title ) . $args[‘after_title’]; } // Show the product meta woocommerce_template_single_meta(); echo $args[‘after_w…

Read More

WordPress development tutorials

Translating a WordPress Plugin on the Command Line Step by Step

…ctions, as well as ones specialized for use with HTML attribute values for instance. You should also use an appropriate text domain string based on your plugin name. If your plugin is called My-Plugin, your text domain might be ‘my-plugin’ for instance. Step 2 – Extraction If you have not already done so, start by exporting the WordPress translation tools: [bash]$ svn export http://i18n.svn.wordpress.org/tools/trunk/[/bash] Update 2013.03.01: It l…

Read More

Pagely staging site

How to create a Pagely staging site (for the non-developer)

…is being created, you’ll have to wait a few minutes for the new site to be installed. Once it’s installed, you’ll have a temporary Pagely domain for it (something like http://s12345.p123.sites.pressdns.com). You can access the information for you app by going to “Sites” to get your site list, and clicking “App Details”. You’ll then see your temporary Pagely URL on this page: Make a note of your temporary domain as well as the name you gave your si…

Read More

16 tips for working from home from the fully-remote team at SkyVerge

…distractions. So cut people some slack (pun so very intended) on providing instant responses. Trust that they’ll get back to you when they’ve finished up a task and are ready to check their messages—and don’t expect instant responses. To that end, assuming your company/team/supervisor understands your need for concentration and focus, you also shouldn’t feel pressure to respond to every message immediately. You need to get work done just as much a…

Read More

WP Development

Extending the WordPress XML-RPC API

…epend your method name with an identifier unique to you/your business. For instance, core WordPress methods begin with a ‘wp’ prefix (ie ‘wp.getCommentCount’), here I’ve scoped ‘helloWorld’ with ‘frs’ for “fox run software”, giving me a complete method name of “frs.helloWorld”. A simple implementation of the callback method follows: function hello_world( $params ) { global $wp_xmlrpc_server; $blog_id = (int) $params[0]; // not used, but follow in…

Read More

Storage

Customer and order exports for any server environment

…is will give you a slug that corresponds with a data store, and expects an instantiated Data Store object in return. The two built-in data store slugs are database and filesystem, but if the slug given differs from those, it will check this filter for a valid custom data store before bailing. Here, you’ll want to listen for your custom data store slug, and instantiate and return your data store if it is called. Check it out Override the default st…

Read More