Skip to content

Instantly share code, notes, and snippets.

View webdados's full-sized avatar

Marco Almeida webdados

View GitHub Profile
@webdados
webdados / generate_proforma.php
Last active August 31, 2025 06:20
Automatically issue proforma invoice when order is on-hold (newly created).
<?php
/**
* Automatically issue proforma invoice when order is on-hold (newly created).
* https://invoicewoo.com/
* https://nakedcatplugins.com/product/invoicing-with-invoicexpress-for-woocommerce-pro/
*/
add_action(
// When the order is created via the checkout
'woocommerce_order_status_on-hold',
function( $order_id ) {
@webdados
webdados / swcbcf_conditional_cart_product_taxonomies.php
Created August 29, 2025 08:42
Add custom product taxonomies or attributes as conditional rules in Simple Checkout Fields Manager for WooCommerce
<?php
/**
* Add custom product taxonomies or attributes as conditional rules in Simple Checkout Fields Manager for WooCommerce
* https://nakedcatplugins.com/product/simple-custom-fields-for-woocommerce-blocks-checkout/
*/
// Example - Add "color" attribute
add_filter( 'swcbcf_conditional_cart_product_taxonomies', function( $taxonomies ) {
$taxonomies[ 'pa_color' ] = 'Color';
@webdados
webdados / relevanssi_content_boost.php
Last active August 7, 2025 07:17
Ignore post_content when searching with Relevanssi
<?php
// For all post types
add_filter( 'relevanssi_index_content', '__return_false' );
// For some post types
add_filter( 'relevanssi_post_content', function( $post_content, $post_object ) {
if ( in_array( $post_object->post_type, array( 'post', 'other_cpt' ) ) ) {
return '';
}
return $post_content;
@webdados
webdados / nakedcatplugins_lang_attr_highlight_color.php
Last active August 1, 2025 16:31
Change the highlight for the "Language Attribute for Container Blocks" WordPress plugin, using PHP
<?php
// Just return any color you want in a format supported by CSS
add_filter(
'nakedcatplugins_lang_attr_highlight_color',
function () {
return 'rgba(0, 150, 255, 0.8)'; // Blue instead of red
}
);
@webdados
webdados / shop_as_client_autocomplete_user_label.php
Created April 8, 2025 13:28
Change the label for the autocomplete user results no the Shop as Client for WooCommerce plugin
<?php
add_filter(
'shop_as_client_autocomplete_user_label',
function ( $label, $user_id, $display_name, $user_email ) {
// Get the user
$user = get_user( $user_id );
$name_to_display = html_entity_decode( $user->display_name, ENT_QUOTES, 'UTF-8' );
// Use same label but with $name_to_display as the name
return sprintf(
__( 'Cust. #%1$d: %2$s - %3$s', 'shop-as-client-pro' ),
@webdados
webdados / shop-as-client-fix-priority.php
Created March 27, 2025 10:58
Shop as Client - Change fields position/priority on the WooCommerce Checkout
<?php
/**
* Plugin Name: Shop as Client for WooCommerce - Fix field priority
* Description: Fix the field priority if messed up by another plugin
* Version: 1.0
* Author: PT Woo Plugins (by Webdados)
* Author URI: https://ptwooplugins.com/
* Requires at least: 5.8
* Tested up to: 6.8
* Requires PHP: 7.4
@webdados
webdados / kk_adjust_price.php
Last active March 19, 2025 14:15
Example usage of Feed KuantoKusta para WooCommerce add-on PRO adjust price filters
<?php
// Example 1
// Do not adjust any KuantoKusta price for products belonging to categories 90 and 333
add_filter( 'kuantokusta_adjust_product_regular_price', 'my_kk_adjust_price_filter', 10, 2 );
add_filter( 'kuantokusta_adjust_product_current_price', 'my_kk_adjust_price_filter', 10, 2 );
add_filter( 'kuantokusta_adjust_variation_regular_price', 'my_kk_adjust_price_filter', 10, 2 );
add_filter( 'kuantokusta_adjust_variation_current_price', 'my_kk_adjust_price_filter', 10, 2 );
function my_kk_adjust_price_filter( $price, $product ) {
$categories_not_to_adjust_price = array(
90,
@webdados
webdados / gateway_ifthen_blocks_payment_method_data.php
Created January 4, 2025 11:04
Change the ifthenpay gateway icon on the WooCommerce blocks checkout
<?php
// For ifthenpay Gateway use gateway_ifthen_blocks_payment_method_data
add_filter(
'gateway_ifthen_blocks_payment_method_data',
function ( $payment_method_data ) {
$payment_method_data['icon'] = '/whatever/path/apple-google-pix.svg';
$payment_method_data['icon_width'] = 78;
$payment_method_data['icon_height'] = 24;
return $payment_method_data;
}
<?php
// You need this plugin: https://ptwooplugins.com/product/dpd-portugal-for-woocommerce/
// Change order status after issuing label
add_action( 'woo_dpd_portugal_label_issued', function( $order_id ) {
$order = wc_get_order( $order_id );
$order->update_status( 'completed', 'Order automatically set to Completed after issuing DPD label' );
} );
@webdados
webdados / remove_plugin_from_wporg_updates.php
Last active October 11, 2024 12:08
Remove 3rd party plugin from WordPress.org updates checks
<?php
/**
* Remove this plugin from the wp.org update requests by shortcircuiting the HTTP request
* This function should be placed on the plugin main file and namespaced accordingly
* Unfortunately, this will only work if the plugin is active
*
* @param array $parsed_args An array of HTTP request arguments.
* @param string $url The request URL.
*/
function namespace_this_remove_plugin_from_wporg_updates( $parsed_args, $url ) {