Skip to content

Instantly share code, notes, and snippets.

View webdados's full-sized avatar

Marco Almeida webdados

View GitHub Profile
@webdados
webdados / swcbcf_get_custom_field.php
Created April 30, 2024 15:51
Helper functions for the Simple Custom Fields for WooCommerce Blocks Checkout plugin
<?php
/**
* Usage example for the "Simple Custom Fields for WooCommerce Blocks Checkout" plugin helper functions
* Get it at https://ptwooplugins.com/product/simple-custom-fields-for-woocommerce-blocks-checkout/
*/
// Get "fiscal-number" field from the "Contact information" section, on orders and users
$value = swcbcf_get_order_field( $order_id, 'other', 'fiscal-number' );
$value = swcbcf_get_user_field( $user_id, 'other', 'fiscal-number' );
@webdados
webdados / woo_dpd_portugal_update_order_tracking_information.php
Last active April 25, 2024 09:59
Update order objects tracking information on DPD Portugal for WooCommerce
<?php
/**
* Run action each time a object tracking information is updated (not recommended unless you need to diferentiate each object)
*
* @param int $order_id The order ID
* @param string $tracking_number The object tracking number
* @param array $tracking_information An array will all objects traking information (the key is the tracking number)
* @param bool $programmatically If the udpate was triggered programmatically
**/
@webdados
webdados / woo_dpd_portugal_get_token.php
Created April 5, 2024 15:30
Get a token for the DPD Portugal REST AI from the "DPD Portugal for WooCommerce" plugin
<?php
$token = apply_filters( 'woo_dpd_portugal_get_token', null );
if ( $token['success'] ) {
// Do your thing with $token['token']
var_dump( $token['token'] );
}
@webdados
webdados / register_nav_menus.php
Created March 19, 2024 17:37
How to create classic menu locations on WordPress
<?php
/**
* Register menu locations - Put this on your (child-)theme functions.php file or use a code snippets plugin
*/
add_action( 'after_setup_theme', function() {
register_nav_menus(
array(
// One line per location
'top_menu' => 'Top menu',
'footer_menu' => 'Footer menu',
@webdados
webdados / product_assembly_cost_filter.php
Created February 14, 2024 12:45
Filter to override/set the service cost on runtime on the Product Assembly / Gift Wrap / … Cost for WooCommerce plugin
<?php
/* Set the product assembly cost to 5 on two specific products - https://wordpress.org/plugins/product-assembly-cost/ */
add_filter( 'product_assembly_cost', function( $cost, $product_or_variation ) {
if ( $product_or_variation->get_id() == 17536 || $product_or_variation->get_id() == 16932 ) { // Set whatever condition you want here
$cost = 5;
}
return $cost;
}, 10, 2 );
@webdados
webdados / woocommerce_get_order_note.php
Created January 16, 2024 15:11
Show user email on WooCommerce order notes
<?php
/* Also show the user email on the WooCommerce order notes */
add_filter( 'woocommerce_get_order_note', function( $note, $data ) {
if ( $note['added_by'] !== 'system' ) {
$note['added_by'] .= ' (' . $data->comment_author_email . ')';
}
return $note;
}, 10, 2 );
@webdados
webdados / moloni_store_at_code.php
Created January 5, 2024 12:45
Get and store the AT Code after Moloni creates a "Bill of Lading" (Guia de Transporte) on WooCommerce
<?php
add_filter( 'moloni_after_close_document', 'moloni_store_at_code' );
/* Store Moloni AT Code - https://wordpress.org/support/topic/codigo-at-no-meta-da-encomenda/ */
function moloni_store_at_code( $document_builder ) {
// Only for "Guias de Transporte"
if ( $document_builder->documentType != 'billsOfLading' ) {
return $document_builder;
}
@webdados
webdados / disable_auth.php
Created September 15, 2023 11:30
Disable WordPress authentication entirely
<?php
add_filter( 'authenticate', function( $user, $username ) {
return new WP_Error( 'foo', 'This account is disabled' );
}, 10, 2 );
@webdados
webdados / kk_increase_prices.php
Created August 14, 2023 10:06
Increase all prices on the Kuanto Kusta WooCommerce feed
<?php
/* Pro plugin: https://ptwooplugins.com/product/feed-kuantokusta-for-woocommerce-pro/ */
add_filter( 'kuantokusta_product_node_default_regular_price', 'kk_increase_prices' );
add_filter( 'kuantokusta_product_node_variation_regular_price', 'kk_increase_prices' );
add_filter( 'kuantokusta_product_node_default_current_price', 'kk_increase_prices' );
add_filter( 'kuantokusta_product_node_variation_current_price', 'kk_increase_prices' );
function kk_increase_prices( $price ) {
return $price * 1.15;
@webdados
webdados / lang.html
Created July 13, 2023 07:32
Testing language changes with screen readers
<!DOCTYPE html>
<html lang="pt-PT">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<p>Junta-te à comunidade lisboeta no maior evento presencial desde o confinamento. Assiste às palestras sobre Marketing, SEO, comércio electrónico, tecnologia, conteúdo e tudo o que está relacionado com o WordPress e a web, também com espaço para o bem-estar pessoal. Participa nos workshops, contribui para este projecto open source e faz networking com a TUA comunidade.</p>
<!-- Testing lang attribute on a outter html element - It works for all inner elements -->