Your basket is currently empty!
Author: admin
-
Don’t Fear the MU Code
MU Code in WordPress is a super powerful tool. a few lines of code can replace an entire plugin.
As standard, MU Code is a bit difficult to reach and edit so I have created a handy plugin to allow you to edit and publish all of these snippets from inside your WP Admin Dashboard.
Snippets:
Here is a sneak peek of the handy code snippets to come which you can add to your own WP instance and tweak to suit your own needs:
Stop Spam Carts
<?php // STOP SPAM CARTS ! add_filter( 'woocommerce_add_to_cart_validation', 'prevent_get_request_add_cart_item', 10, 5 ); function prevent_get_request_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations = '' ) { if ( isset( $_GET['add-to-cart'] ) ) { return false; } return $passed; }Bot Trap Product
<?php 404]); } /** * Block add-to-cart via classic flows (button, form POST, ?add-to-cart, AJAX). */ add_filter('woocommerce_add_to_cart_validation', function( $passed, $product_id, $quantity, $variation_id = 0, $variations = [] ){ if ( ! $product_id ) return $passed; $check_id = $variation_id ?: $product_id; $product = function_exists('wc_get_product') ? wc_get_product($check_id) : null; if ( $product && $product->get_sku() === TCR_TRAP_SKU ) { tcr_send_404_and_die(); } return $passed; }, 0, 5); /** * Extra guard: if someone hits ?add-to-cart=ID directly. */ add_action('init', function() { if ( empty($_REQUEST['add-to-cart']) ) return; $id = absint($_REQUEST['add-to-cart']); $product = function_exists('wc_get_product') ? wc_get_product($id) : null; if ( $product && $product->get_sku() === TCR_TRAP_SKU ) { tcr_send_404_and_die(); } }); /** * Store API / headless guard: block /wp-json/wc/store/cart/add-item payloads. * We avoid theme templates and return the same 404 response body. */ add_action('rest_api_init', function () { $uri = $_SERVER['REQUEST_URI'] ?? ''; if (strpos($uri, '/wp-json/wc/store/cart') === false) return; // Read once; REST calls send JSON bodies. $raw = file_get_contents('php://input'); $body = $raw ? json_decode($raw, true) : []; // Handle both single add and batch structures. $maybe_items = []; if (isset($body['id'])) { $maybe_items[] = $body; } elseif (!empty($body['items']) && is_array($body['items'])) { $maybe_items = $body['items']; } foreach ($maybe_items as $item) { $pid = isset($item['id']) ? absint($item['id']) : 0; if ( ! $pid ) continue; $product = function_exists('wc_get_product') ? wc_get_product($pid) : null; if ( $product && $product->get_sku() === TCR_TRAP_SKU ) { tcr_send_404_and_die(); } } });Performance & Cleanup
- Disable Emojis & Embeds – “Speed Up WP: Remove Emojis & Embeds”
- Limit Revisions & Autosave – “Stop DB Bloat: Revisions/Autosave Tweak”
- Dequeue Unused Block Styles – “Faster Frontend: Trim Block CSS”
- Remove Query Strings from Assets – “Cache Better: Strip ?ver from CSS/JS”
- Preload/Preconnect Hints – “Instant Speed: Preload Fonts & CDN”
- Defer/Async JS (safe list) – “Defer Scripts for Faster Paints”
- Heartbeat Rate Control – “Save CPU: Tame WP Heartbeat”
- Disable XML-RPC – “Secure & Faster: Kill XML-RPC”
- Tidy wp_head() Output – “Clean Head: Remove RSD/WLManifest/Shortlink”
Security & Hardening
- Force Strong Passwords (non-admins) – “Stronger Passwords in 1 Minute”
- Block User Enumeration – “Stop /?author= Scans”
- Disallow File Editing – “Safer WP: Disable Theme/Plugin Editor”
- Restrict REST Endpoints – “Lock Down REST: Public vs Private”
- Auto-Logout Inactive Users – “Security: Auto-Logout Idle Users”
- Limit Login Attempts (lightweight) – “Soft Rate Limit: Stop Brute Force”
Admin UX & Workflow
- Custom Admin Menu Cleanup – “Declutter Admin: Hide Menu Items”
- Custom Dashboard Widget – “Your Dashboard, Your Metrics”
- Change Login Logo/URL/Title – “Brand Your Login Screen”
- Auto-Assign Default Categories – “No ‘Uncategorized’ Ever Again”
- Force Media Upload Limits (size/MIME) – “Control Uploads: Types & Sizes”
- SVG Uploads (sanitized) – “Enable Safe SVG Uploads”
Content & SEO
- Auto Nofollow External Links – “SEO Safety: Nofollow External Links”
- Open External Links in New Tab – “UX Tweak: External Links Target=_blank”
- Fallback ALT Text for Images – “Accessibility: Auto ALT Fallbacks”
- Exclude Pages from Search – “Cleaner Search: Posts Only”
- Canonical Tweaks on Archives – “Fix Duplicate Content Canonicals”
- Auto-Set Featured Image (first image) – “No More Missing Thumbs”
- Custom 404 Suggestions (popular posts) – “Smarter 404: Keep Users On-Site”
- Disable RSS or Customize Feeds – “Control Feeds: Disable or Beautify”
Comments & Spam Control
- Auto-Close Comments After X Days – “Kill Old Comment Spam”
- Disable Comments on Media – “Stop Attachment Comment Spam”
- Keyword/URL Count Filters – “Comment Filter: Fewer Spammy Links”
- Nightly Spam Trash via Cron – “Auto-Clean Spam while You Sleep”
WooCommerce Practical Wins
- Change “Add to Cart” Text – “Custom Add-to-Cart Text in 60s”
- Min Order Amount + Notice – “Minimum Order with Friendly Message”
- Hide Shipping Until Address – “Cleaner Checkout: Hide Shipping Early”
- Auto-Complete Virtual Orders – “Instant Delivery: Virtual Orders Auto-Complete”
- Block Spam Add-to-Cart via GET – (you planned this) “Stop Bot Carts (MU Code)”
- Cart Item Limits/Blacklist – “Limit Quantities or Block SKUs”
- Stock Threshold Alerts (custom) – “Smarter Low-Stock Email Triggers”
Scheduling / Automation
- Custom Cron for DB Cleanup – “Weekly Tidy: Options/Transients”
- Post-Publish Pings (e.g., webhook) – “Trigger Webhooks on Publish”
- Auto-Expire Old Posts – “Set Content Expiry Dates”
Multisite / User Management
- Force Site Language/Timezone – “Consistent Locale Settings”
- Role/Capability Tweaks – “Create a Custom Editor+ Role”
- Redirect After Login by Role – “Send Users Where They Belong”
-
Godzilla Project
Here is where all my Godzilla Project things will go !
-
DIY Stream Deck clone (Dream Stack)
This post is all about the Dream Stack. This is my super cheap, open source Stream Deck clone. You can take the BOM and code and create your own version using Arduino IDE.
I guess to give this its more generic name it is a customisable macro keyboard or controller for OBS and stuff. Only more versatile. Use your imagination and make what you can with it.
Tailor this project to do whatever you want. It is meant to be customised easily to make something that works for you with no more than notepad and a basic image editor.
Hopefully I will evolve this to something you can take, flash the code and end up with a finished product pretty much. I will update the released versions below for you
This has rapidly become a cheap and an ultimate version so…
Jump to: DreamStack Zero
DreamStack Zero
The DreamStack Zero is made using an ESP32 CYD (cheap as possible). There may be limits to this, we shall find them I’m sure. Either way at the time of writing it is like £12 plus a 3D printed case and I have done all the hard work for you. You’re welcome. Enjoy.
BOM (Bill of Materials)
- ESP32 with LCD touch screen (Buy on Amazon)
- 3D printed case (STL in Download)
- USB cable
Software needed
Version 1.0.0 – Short Line (Windows Form)
This is my super short lived WIndows Forms version… I am immediately moving on to WPF to bring this project into the 21st century !
Check out the video, not really a tutorial, just me talking shit…
Downloads
Project Bundle
Version 0.0.1 – End of the Line (Console)
Watch the tutorial on YouTube:
Downloads
Project Bundle
