If you are using the WordPress MU Domain Mapping plugin to map domains on your WordPress Multisite, the preview feature in the WordPress Customizer will not function. To resolve this issue, save enable-customizer-preview-mapped-domain.php, as must-use plugin, in wp-content/mu-plugins
.
This plugin will make the table header sticky when you scroll down.
Save file in wp-content/mu-plugins
position: sticky
is supported by most browsers.
This is not a complete plugin, but a how-to. Want more, take a look at my WP Loop plugin. Search is in class-wp-loupe-search.php
Sample below:
- expects that you've created your own
search()
function, which returns an array with post id. (eg.: Eg.:[ [ 'id' => 1 ], [ 'id' => 2 ] ]
) - includes pagination
- tested (using WP Loop plugin) with Twenty Twenty-Four and Twenty Twenty-Five
The script will remove failed and cancelled workflow runs from your GitHub Action workflow history log.

- GitHub CLI installed.
I use this GitHub Action to security test our WordPress themes
So what does the GitHub Action do?
It;
- get the code (i.e. themes) required by composer
- scan the code using semgrep
- upload the security errors to GitHub Code Security (i.e. the scan creates a sarif file which is uploaded)
First, disable multible tabs: Set
Workbench > Editor: Show Tabs
to single
Included in VS Code:
Control+Tab
: Next FileShift+Control+Tab
: Previous File
Custom, add the code in keybindings.json to VS Code (Shift+Command+P
, select Preferences: Open Keybord Shortcuts (JSON)
)
Option+Tab
: Next Workspace (file picker)
This Bicep file (waf-wordpress-exclusions.bicep) defines an Azure WAF policy specifically configured with rule exclusions for WordPress sites, based on the OWASP Core Rule Set - WordPress Rule Exclusions Plugin
resource wafPolicy 'Microsoft.Network/FrontDoorWebApplicationFirewallPolicies@2022-05-01' = { | |
name: wafPolicyName | |
location: 'global' | |
sku: { | |
name: frontDoorSkuName | |
} | |
tags: tags | |
properties: { | |
policySettings: { | |
enabledState: 'Enabled' |
I did this to show how easy it is to create your own media inserter. In production I would create a a server that returns the json.
- Create a block
- in
wp-content/plugins
runnpx @wordpress/create-block@latest my-image-inserter
cd my-image-inserter
- in
- Copy index.js to
my-image-inserter/src/index.js
- Delete
my-image-inserter/my-image-inserter.php
- Copy plugin.php to
my-image-inserter/plugin.php
# GitHub CLI aliases | |
eval "$(gh copilot alias -- zsh)" # or bash | |
# Old school aliases | |
alias '??'='ghcs' | |
alias 'git?'='ghcs -t git' | |
alias 'gh?'='ghcs -t gh' | |
alias 'explain'='ghce' |