Skip to content

Instantly share code, notes, and snippets.

:shipit:
Working from home

Mike Jolley mikejolley

:shipit:
Working from home
Block or report user

Report or block mikejolley

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@mikejolley
mikejolley / gist:2044101
Last active Jan 21, 2020
WooCommerce - Show number of items in cart and total
View gist:2044101
<a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf ( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
@mikejolley
mikejolley / gist:1604009
Created Jan 13, 2012
WooCommerce - Add a special field to the checkout, order emails and user/order meta
View gist:1604009
/**
* Add the field to the checkout
**/
add_action('woocommerce_after_order_notes', 'my_custom_checkout_field');
function my_custom_checkout_field( $checkout ) {
echo '<div id="my_custom_checkout_field"><h3>'.__('My Field').'</h3>';
/**
@mikejolley
mikejolley / gist:1597957
Created Jan 12, 2012
WooCommerce - Replace '' with 'Call for price' when price is left blank
View gist:1597957
/**
* This code should be added to functions.php of your theme
**/
add_filter('woocommerce_empty_price_html', 'custom_call_for_price');
function custom_call_for_price() {
return 'Call for price';
}
@mikejolley
mikejolley / gist:9668782
Last active Jan 11, 2020
WP Job Manager Resumes & WC Paid Listings - If resumes require a 'has_active_job_package' capability, limit access to only those with an active job package. Once the package expires (e.g. job limit reached) access to resumes expires too.
View gist:9668782
// Hook into user_has_cap filter. This assumes you have setup resumes to require the capability 'has_active_job_package'
add_filter( 'user_has_cap', 'has_active_job_package_capability_check', 10, 3 );
/**
* has_active_job_package_capability_check()
*
* Filter on the current_user_can() function.
*
* @param array $allcaps All the capabilities of the user
* @param array $cap [0] Required capability
@mikejolley
mikejolley / gist:2176823
Created Mar 24, 2012
WooCommerce - Show products from current product category (when viewing a single product)
View gist:2176823
<?php
if ( is_singular('product') ) {
global $post;
// get categories
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $cats_array[] = $term->term_id;
@mikejolley
mikejolley / functions.php
Created May 10, 2016
WooCommerce - Remove product data tabs and hook content in sequence instead
View functions.php
<?php // Do not include this if already open!
/**
* Remove existing tabs from single product pages.
*/
function remove_woocommerce_product_tabs( $tabs ) {
unset( $tabs['description'] );
unset( $tabs['reviews'] );
unset( $tabs['additional_information'] );
return $tabs;
@mikejolley
mikejolley / gist:3097073
Last active Dec 13, 2019
WooCommerce - Unhook/Disable emails
View gist:3097073
/**
* Code goes in functions.php or a custom plugin.
*/
add_action( 'woocommerce_email', 'unhook_those_pesky_emails' );
function unhook_those_pesky_emails( $email_class ) {
/**
* Hooks for sending emails during store events
**/
@mikejolley
mikejolley / functions.php
Last active Nov 20, 2019
WooCommerce 3.3 - Hide uncategorized category from the shop page on the frontend
View functions.php
<?php // Do not include this if already open!
/**
* Code goes in theme functions.php.
*/
add_filter( 'woocommerce_product_subcategories_args', 'custom_woocommerce_product_subcategories_args' );
function custom_woocommerce_product_subcategories_args( $args ) {
$args['exclude'] = get_option( 'default_product_cat' );
return $args;
@mikejolley
mikejolley / functions.php
Created Jul 2, 2016
WooCommerce - Redirect external products offsite (disable single listings)
View functions.php
<?php // Do not include this if already open!
/**
* Code goes in theme functions.php.
*/
add_action( 'template_redirect', 'redirect_external_products' );
function redirect_external_products() {
global $post;
@mikejolley
mikejolley / functions.php
Last active Nov 8, 2019
WooCommerce - Split shipping class items into a new package and limit shipping methods
View functions.php
/**
* This function loops over cart items, and moves any item with shipping class 'special-class' into a new package.
* The new package in this example only takes flat rate shipping.
*/
function split_special_shipping_class_items( $packages ) {
$found_item = false;
$special_class = 'special-class'; // edit this with the slug of your shippig class
$new_package = current( $packages );
$new_package['contents'] = array();
$new_package['contents_cost'] = 0;
You can’t perform that action at this time.