Skip to content

Instantly share code, notes, and snippets.

@jorpdesigns
jorpdesigns / product-quantity-signs.php
Created July 7, 2021 18:40
Snippet to add "+" and "-" signs around quantity input on WooCommerce product page
add_action( 'woocommerce_before_add_to_cart_quantity', 'display_quantity_minus' );
function display_quantity_minus() {
echo '<div class="quantity-wrapper"><span>Qty</span><button type="button" class="minus" >-</button>';
}
add_action( 'woocommerce_after_add_to_cart_quantity', 'display_quantity_plus' );
function display_quantity_plus() {
echo '<button type="button" class="plus" >+</button></div>';
}
@jorpdesigns
jorpdesigns / product-custom-add-to-cart-text.php
Last active September 20, 2021 13:11
Snippet to change "Add to Cart" button text on WooCommerce archive and single product pages
<?php
// ARCHIVE
add_filter('woocommerce_product_add_to_cart_text', 'custom_archive_cart_button_text');
function custom_archive_cart_button_text() {
return __('Purchase', 'woocommerce');
}
// SINGLE PAGE
add_filter('woocommerce_product_single_add_to_cart_text', 'custom_single_cart_button_text');
@jorpdesigns
jorpdesigns / variable-product-disable-add-to-cart-button.php
Created July 7, 2021 18:45
Snippet to disable "Add to Cart" button if all variations for a WooCommerce product are out of stock
<?php
add_action( 'woocommerce_single_product_summary', 'replace_single_add_to_cart_button', 1 );
function replace_single_add_to_cart_button() {
global $product;
if( $product->is_type( 'variable' ) ) {
$is_soldout = true;
foreach( $product->get_available_variations() as $variation ){
@jorpdesigns
jorpdesigns / product-attributes.php
Last active July 12, 2021 11:16
Snippet to get attributes on WooCommerce product page
<?php
// You can add this function to any hook listed here - https://www.businessbloomer.com/woocommerce-visual-hook-guide-single-product-page/
function product_attributes() {
global $product;
// GET SPECIFIC ATTRIBUTE
$attribute = $product->get_attribute( 'pa_attribute' );
$specificAttribute = $product->get_attribute( 'pa_specific-attribute' );
@jorpdesigns
jorpdesigns / product-variation-info.php
Created July 8, 2021 17:20
Snippet to get variation prices, attributes or custom fields on WooCommerce product page
<?php
// Add this function to any hook listed here - https://www.businessbloomer.com/woocommerce-visual-hook-guide-single-product-page/
function product_variation_values() {
global $product;
if ( $product->is_type( 'variable' ) ) {
$variations = $product->get_available_variations();
@jorpdesigns
jorpdesigns / show-variation-prices.php
Created July 8, 2021 17:21
Snippet to show all WooCommerce product variation prices if all prices are the same
<?php
add_filter('woocommerce_show_variation_price', function() {return true;});
?>
@jorpdesigns
jorpdesigns / disable-variation.php
Created July 8, 2021 17:25
Snippet to disable out of stock WooCommerce product variations
<?php
add_filter( 'woocommerce_variation_is_active', 'disable_out_of_stock_variations', 10, 2 );
function disable_out_of_stock_variations( $active, $variation ) {
if( ! $variation->is_in_stock() ) {
return false;
}
return $active;
}
@jorpdesigns
jorpdesigns / countdown-timer.php
Created July 8, 2021 17:33
Snippet to display JS countdown timer on WooCommerce product page
<?php
// Add this function to any hook listed here - https://www.businessbloomer.com/woocommerce-visual-hook-guide-single-product-page/
function delivery_countdown() {
date_default_timezone_set('Europe/London'); // Specify preferred time zone
$deadline = 12; // 0 = 12AM, 12 = 12PM, 23 = 11PM
$isWeekend = null;
$weekend = array('Saturday', 'Sunday');
$weekdayDeadline = "Friday 12PM";
@jorpdesigns
jorpdesigns / subcategory-related-products.php
Created July 8, 2021 17:37
Snippet to show only products from same subcategory in Related Products grid on WooCommerce product page
@jorpdesigns
jorpdesigns / replace-related-products-with-upsells.php
Created July 8, 2021 17:39
Snippet to remove related products grid on WooCommerce product page if upsells are available