Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Joerg Schoeneburg jswebschmiede

🏠
Working from home
View GitHub Profile
@jswebschmiede
jswebschmiede / woocommerce - minimum and maximum price
Created Apr 20, 2022 — forked from Daniel217D/woocommerce - minimum and maximum price
woocommerce - get minimum and maximum price for current products
View woocommerce - minimum and maximum price
function get_filtered_price() {
global $wpdb;
$args = wc()->query->get_main_query();
$tax_query = isset( $args->tax_query->queries ) ? $args->tax_query->queries : array();
$meta_query = isset( $args->query_vars['meta_query'] ) ? $args->query_vars['meta_query'] : array();
foreach ( $meta_query + $tax_query as $key => $query ) {
if ( ! empty( $query['price_filter'] ) || ! empty( $query['rating_filter'] ) ) {
@jswebschmiede
jswebschmiede / wc-change-number-of-related-products.php
Created Apr 20, 2022 — forked from woogists/wc-change-number-of-related-products.php
[Theming Snippets] Change number of related products output
View wc-change-number-of-related-products.php
@jswebschmiede
jswebschmiede / wc-product-search-form.html
Created Apr 20, 2022 — forked from woogists/wc-product-search-form.html
[Theming] Overriding the product search box (widget)
View wc-product-search-form.html
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label class="screen-reader-text" for="s"><?php _e( 'Search for:', 'woocommerce' ); ?></label>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Products&hellip;', 'placeholder', 'woocommerce' ); ?>" value="<?php echo get_search_query(); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label', 'woocommerce' ); ?>" />
<input type="submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'woocommerce' ); ?>" />
<input type="hidden" name="post_type" value="product" />
</form>
@jswebschmiede
jswebschmiede / wc-query-woocommerce-active.php
Created Apr 20, 2022 — forked from woogists/wc-query-woocommerce-active.php
[Theming Snippets] Query whether WooCommerce is activated
View wc-query-woocommerce-active.php
/**
* Check if WooCommerce is activated
*/
if ( ! function_exists( 'is_woocommerce_activated' ) ) {
function is_woocommerce_activated() {
if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; }
}
}
@jswebschmiede
jswebschmiede / hide-all-shipping-keep-local-free.php
Created Apr 20, 2022 — forked from woogists/hide-all-shipping-keep-local-free.php
[General Snippets][Hide other shipping methods, but keep "Local pickup" when “Free Shipping” is available]
View hide-all-shipping-keep-local-free.php
/**
* Hide shipping rates when free shipping is available, but keep "Local pickup"
* Updated to support WooCommerce 2.6 Shipping Zones
*/
function hide_shipping_when_free_is_available( $rates, $package ) {
$new_rates = array();
foreach ( $rates as $rate_id => $rate ) {
// Only modify rates if free_shipping is present.
if ( 'free_shipping' === $rate->method_id ) {
@jswebschmiede
jswebschmiede / wc-hide-all-shipping-if-free-shipping-is-available.php [General Snippets][Hide other shipping methods when “Free Shipping” is available] Hides all other shipping methods but free_shipping if it’s available. Compatible with Shipping zones.
View wc-hide-all-shipping-if-free-shipping-is-available.php
/**
* Hide shipping rates when free shipping is available.
* Updated to support WooCommerce 2.6 Shipping Zones.
*
* @param array $rates Array of rates found for the package.
* @return array
*/
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
@jswebschmiede
jswebschmiede / hide-shipping-if-free-shipping-is-available.php New - Hide paid shipping rates when free is available. DOES show Local Pickup. Considered ANY shipping rate that is $0 as free (so the 'Free shipping' shipping method is not a requirement)
View hide-shipping-if-free-shipping-is-available.php
<?php
/**
* Copy from here to your (child) themes functions.php
* Recommended to do so via FTP.
*/
/**
* Hide all but the free shipping options when free is available.
*
@jswebschmiede
jswebschmiede / wp-coustom-term-options.php
Created Apr 19, 2022 — forked from svebal/wp-coustom-term-options.php
Wordpress Hooks to add coustom term Options
View wp-coustom-term-options.php
<?php
/**
*
* Add only for parents coustom term Options
* @author rene reimann
* @home http://www.rene-reimann.de
*
* @hook category_add_form_fields Hooks into the category edit page
* @hook edit_tag_form_fields Hooks into the category frontpage
@jswebschmiede
jswebschmiede / related-products-same-cat.php
Created Apr 19, 2022 — forked from dazecoop/related-products-same-cat.php
In WooCommerce, only show products from same category within Related Products
View related-products-same-cat.php
@jswebschmiede
jswebschmiede / attributes-as-options.php
Created Apr 19, 2022 — forked from dazecoop/attributes-as-options.php
WooCommerce product attributes as selectable options without variations
View attributes-as-options.php
<?php
/**
* List available attributes on product page in a drop-down selection
*/
add_action('woocommerce_before_add_to_cart_button', 'list_attributes_on_product_page');
function list_attributes_on_product_page() {
global $product;
$attributes = $product->get_attributes();