This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Get posts with no thumbnails | |
//add_action('wp_head', 'sz_posts_without_thumbs'); | |
function sz_posts_without_thumbs() { | |
$args = array( | |
'post_type' => 'post', | |
'post_status' => 'publish', | |
'posts_per_page' => -1, | |
'fields' => 'ids', | |
'no_found_rows' => true, | |
'ignore_sticky_posts' => true, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SZ Compare queries performance | |
// Function to fetch and display random posts using the initial slow method | |
function fetch_random_posts_initial() { | |
$start_time = microtime(true); | |
$args = array( | |
'cat' => array(1, 9, 10, 11, 44, 94), | |
'posts_per_page' => 3, | |
'no_found_rows' => true, | |
'ignore_sticky_posts' => true, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function delete_transients_with_prefix( $prefix ) { | |
foreach ( get_transient_keys_with_prefix( $prefix ) as $key ) { | |
// delete_transient( $key ); | |
echo "<br>". $key." ".get_transient( $key ); | |
} | |
} | |
/** | |
* Gets all transient keys in the database with a specific prefix. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//This goes in functions.php or plugin file or wherever | |
function dump_hook( $tag, $hook ) { | |
ksort($hook); | |
echo "<pre>>>>>>\t$tag<br>"; | |
foreach( $hook as $priority => $functions ) { | |
echo $priority; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RewriteEngine On | |
# Check if the request is for a PNG or JPEG file | |
RewriteCond %{REQUEST_FILENAME} \.(png|jpe?g)$ | |
# Check if a WebP version of the file exists | |
RewriteCond %{REQUEST_FILENAME}.webp -f | |
# Redirect to the WebP version of the file | |
RewriteRule ^(.+)\.(png|jpe?g)$ $1.$2.webp [NC,L] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Measure performance of some WP funcitons | |
$startTime = microtime(true); | |
$guarded_pages = get_posts([ | |
'posts_per_page' => 100, | |
'no_found_rows' => true, | |
'post_type' => SpeedGuard_Admin::$cpt_name, | |
'post_status' => 'publish', | |
'fields' => 'ids' | |
] ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** Disable repeat purchase V 22.20 7:40 -- on Adding to Cart check **/ | |
add_filter( 'woocommerce_add_to_cart_validation', 'limit_cart_items_from_category', 10, 5 ); | |
function limit_cart_items_from_category ( $passed, $product_id, $quantity, $variation_id = 0, $variations = null ){ | |
$current_product_id = ($variation_id === 0) ? $product_id : $variation_id; | |
// Loop through cart items checking if the product is already in cart | |
foreach ( WC()->cart->get_cart() as $cart_item ){ | |
if( $cart_item['data']->get_id() == $current_product_id ) { | |
wc_add_notice( __('This product is already in your cart.', 'woocommerce' ), 'error' ); | |
return false; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
upstream php { | |
{{#each fastcgi_servers}} | |
server {{this}}; | |
{{/each}} | |
} | |
# SZ START | |
# Check if client is capable of handling webp | |
map $http_accept $webp_suffix { | |
default ""; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generate image alt from the post title -- for the first image in the post | |
add_filter('the_content', 'add_alt_tags', 99999); | |
function add_alt_tags($content) { | |
global $post; | |
preg_match_all('/<img[^>]+>/i', $content, $images); | |
if(!is_null($images)) { | |
foreach($images[0] as $index => $value) { | |
//If no alt | |
// if(!preg_match('/alt=/', $value)) { | |
$new_img = str_replace('<img', '<img alt="'.get_the_title().'"', $images[0][$index]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Avoid loading unused assets, both JS and CSS | |
// Removes both CSS and JS | |
// For Full Site Editing Theme! | |
// In a better world block's author makes sure the block's assests are loaded only if block is actually in use (via enqueue_block_assets). For other cases we can do it ourselves | |
// In this example I load Swiper's block assets only where the block is used | |
// TODO: Works for content on Singular content only. if block is elsewhere or it's archive use this https://wordpress.stackexchange.com/questions/392493/find-if-widget-block-is-active | |
add_filter( 'style_loader_tag', 'sz_stop_loading_unused_block_crap', 9999, 3 ); | |
add_filter( 'script_loader_tag', 'sz_stop_loading_unused_block_crap', 10, 3 ); | |
function sz_stop_loading_unused_block_crap( $tag, $handle, $src ) { |
NewerOlder