Skip to content

Instantly share code, notes, and snippets.

View luiseduardobraschi's full-sized avatar
🤓
Updating knowledgebase...

Luis Braschi luiseduardobraschi

🤓
Updating knowledgebase...
View GitHub Profile
@luiseduardobraschi
luiseduardobraschi / functions.php
Created June 10, 2019 22:43
[WooCommerce BR] Keep shipping fields from being fed with billing values:
<?php
function wcbr_disable_copy_shipping_from_billing_fields( $default, $input ){
if( 0 === stripos($input, 'shipping_') ){
$default = '';
}
return $default;
@luiseduardobraschi
luiseduardobraschi / by-email.sql
Last active August 30, 2019 22:46
[WooCommerce BR] Get orders from user by ID or e-mail
SELECT wp_posts.* FROM wp_posts
INNER JOIN wp_users AS users ON users.user_email = 'EMAIL_YOU_WANT'
INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
WHERE 1=1
AND wp_postmeta.meta_key = '_customer_user'
AND wp_postmeta.meta_value = users.ID
AND wp_posts.post_type = 'shop_order'
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
@luiseduardobraschi
luiseduardobraschi / functions.php
Created September 11, 2019 16:35
[WooCommerce BR] Restrict coupon from being used bt its author
<?php
add_filter('woocommerce_coupon_is_valid', 'wcbr_coupon_is_valid', 10, 2);
function wcbr_coupon_is_valid( $valid, $coupon ) {
global $woocommerce;
$customer_id = $woocommerce->customer->get_id();
$coupon_author_id = get_post_field( 'post_author', $coupon->get_id() );
if ( $customer_id === $coupon_author_id ) {
@luiseduardobraschi
luiseduardobraschi / functions.php
Last active December 5, 2019 03:14
Add order meta to child orders in WC Marketplace
<?php
add_action( 'wcmp_checkout_update_order_meta', function( $vendor_order_id, $args ){
$parent_order = wc_get_order( $args['order_id'] );
$child_order = wc_get_order( $vendor_order_id );
foreach( $parent_order->get_meta_data() as $meta ){
$child_order->update_meta_data( $meta->key, $meta->value );
@luiseduardobraschi
luiseduardobraschi / functions.php
Last active December 5, 2019 03:15
[WooCommerce BR] Woocommerce - show discount percentage
<?php
add_filter( 'woocommerce_sale_flash', function( $string, $post, $product ) {
$regular_price = (float) $product->get_regular_price();
$sale_price = (float) $product->get_price();
$discount = round( 100 - ( $sale_price / $regular_price * 100 ), 1 );
return sprintf( '<span class="onsale">%s%%</span>', $discount );
@luiseduardobraschi
luiseduardobraschi / functions.php
Last active June 1, 2020 10:41
Disable all Dokan Pro modules at once.
<?php
add_action('init', function(){
dokan_pro()->module->deactivate_modules(
[
'booking',
'color_scheme_customizer',
'elementor',
'export_import',
'follow_store',
@luiseduardobraschi
luiseduardobraschi / functions.php
Last active August 19, 2022 08:06
Remove country and city fields from shipping calculator and disable "calculate shipping" toggle non-sense.
<?php
add_filter( 'woocommerce_shipping_calculator_enable_country', '__return_false' );
add_filter( 'woocommerce_shipping_calculator_enable_city', '__return_false' );
@luiseduardobraschi
luiseduardobraschi / functions.php
Created February 26, 2021 11:47
[Dokan] Add support to multiple postcode ranges.
<?php
use WeDevs\DokanPro\Shipping\ShippingZone;
add_filter( 'dokan_vendor_shipping_is_available', function( $is_available, $package, $shipping ){
$seller_id = $package['seller_id'];
$destination_postcode = isset( $package['destination']['postcode'] ) ? $package['destination']['postcode'] : '';
$destination_postcode = wc_normalize_postcode( $destination_postcode );
if ( empty( $seller_id ) ) {
@luiseduardobraschi
luiseduardobraschi / Referência de filtros Marketplace-Melhor Envio.md
Last active April 3, 2026 20:54
Referência de filtros Marketplace/Melhor Envio

Utilidades

Mostra mensagens de debug ("depuração") no carrinho para usuários administradores referentes ao cálculo do frete, como erros de configuração do vendedor e mensagens de retorno da API.

add_filter( 'arti_me_show_messages_in_cart', '__return_true' );

Força a atualização da lista de agências das transportadoras no painel do vendedor.

add_filter( 'arti_me_force_agency_list_update', '__return_true' );
@luiseduardobraschi
luiseduardobraschi / functions.php
Created March 29, 2021 17:27
Fix broken Query Monintor in WC Marketplace seller panel
<?php
add_action( 'wp_enqueue_scripts', function(){
wp_enqueue_style(
'query-monitor',
QueryMonitor::init()->plugin_url( "assets/query-monitor.css" ),
[],
QueryMonitor::init()->plugin_ver( "assets/query-monitor.css" )
);
}, PHP_INT_MAX );