Skip to content

Instantly share code, notes, and snippets.

View opicron's full-sized avatar

Robbert Langezaal opicron

View GitHub Profile
@opicron
opicron / vat.php
Last active October 20, 2022 10:35
Tax - exempt guests and customers #php #woocommerce
<?php
/**
* Function that will check for user role and turn off VAT/tax for that role
*/
function wc_diff_rate_for_user() {
// check for the user role
if ( ! is_user_logged_in() || current_user_can( 'customer' ) ) {
@opicron
opicron / scrape.js
Last active October 20, 2022 10:34
scrape #js
module.exports = async ({ page }) => {
await page.setRequestInterception(true);
page.on('request', (req) => {
if(req.resourceType() === 'image' ){
req.abort();
}
else {
req.continue();
// Allow partial regex pattern matches to be considered in SearchWP.
add_filter( 'searchwp\tokens\regex_patterns\only_full_matches', '__return_false' );
// Enable regex pattern match tokenization in SearchWP.
add_filter( 'searchwp\tokens\tokenize_pattern_matches', '__return_true' );
// Tell SearchWP to use a wildcard prefix when performing partial match logic.
add_filter( 'searchwp\query\partial_matches\wildcard_before', '__return_false' );
// Tell SearchWP not to use a wildcard prefix when performing partial match logic.
@opicron
opicron / gist:753431f617d657bd6a465d857dac11fd
Created January 26, 2022 10:08
SearchWP v4 - workaround
// Add WooCommerce Product (and Variation) SKUs to SearchWP.
// @link https://searchwp.com/documentation/knowledge-base/search-woocommerce-skus-and-variation-skus/
add_filter( 'searchwp\entry\data', function( $data, \SearchWP\Entry $entry ) {
// If this is not a Product, there's nothing to do.
if ( 'product' !== get_post_type( $entry->get_id() ) ) {
return $data;
}
$my_extra_meta_key = 'searchwp_skus';
// Reduce SearchWP's minimum character length to 2 (default is 3).
add_filter( 'searchwp\tokens\minimum_length', function( $min ) {
return 2;
} );
/*--------------------*/
/* support for parent/child products*/
/* -------------------*/
add_filter( 'searchwp\query\tokens', function( $terms, $query ){
$exact_match = get_posts( array(