Skip to content

Instantly share code, notes, and snippets.

@broskees
broskees / remove-wp-logo.php
Created May 18, 2023 17:40
Remove the WordPress logo from the Admin Bar
<?php
add_action('admin_bar_menu', function ($wp_admin_bar) {
$wp_admin_bar->remove_node('wp-logo');
}, 999);
@broskees
broskees / server-side-error-detection.php
Created May 18, 2023 17:37
Server side error detection WordPress
<?php
/*
* Some plugins set 5xx status when code runs through expected flows.
* This is to track this since it does not trigger any PHP error logs,
* so that you have some idea why a site fails with 5xx.
*/
add_action ('status_header', function ($status_header, $code, $description, $protocol) {
if ( $code >= 500 ) {
$backtrace = Logger::debugBacktrace();
$this->logger->error( "Server-side error detected: $status_header. Backtrace: $backtrace" );
@broskees
broskees / hide-mu-plugins.php
Created May 18, 2023 17:32
Hide Must Use Plugins WordPress
<?php
add_filter( 'show_advanced_plugins', function ($default, $type) {
return $type == 'mustuse' ? false : $default;
}, 10, 2 );
@broskees
broskees / PostHasTerm.php
Created January 11, 2023 17:04
A custom ACF Location to be able to check if a post or custom post type (CPT) has a specific taxonomy term (supports categories). You can remove the namespace bit if you like.
<?php
namespace App;
class PostHasTerm extends \ACF_Location
{
public function initialize()
{
$this->name = 'post_has_term';
$this->label = __('Post Has Term');
@broskees
broskees / wp_debug_var.php
Last active October 13, 2022 19:34
A nice wp_debug_var() as a mu-plugin to include in your projects
<?php
/*
Plugin Name: WP Debug Function
Description: A Must-Use plugin that makes the wp_debug_var available to your WordPress Installation
Plugin URI: https://gist.github.com/broskees/18c6b10a491d2946fbbfed96a8dd6dc4
Version: 1.0.0
Author: Joseph Roberts
Author URI: https://github.com/broskees
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@broskees
broskees / debugger.js
Last active September 5, 2022 04:03
A short and sweet javascript debugger function that tells you the variable name and the function it was called in
const debuggerFn = variable => console.log({[debuggerFn.caller]: {variable}});
@broskees
broskees / is-descendent-of.php
Last active September 2, 2022 19:01 — forked from stephenharris/is-descendent-of.php
Check if current page is a descendant of the specified one.
<?php
/**
* Is the current page a descendent of page identified by the path (not slug).
* A page is not a descendent of itself!
*
* @link http://wordpress.stackexchange.com/questions/101213/does-is-child-exist-in-wp-3-5-1
* @link https://gist.github.com/broskees/8fd20d3167c4e7dd2941aaef5e7068cc
* @param string $page_path The path of the page, e.g. mypage/mysubpage
* @return boolean True if current page is a descednent of specified $page_path. False otherwise.
*/
@broskees
broskees / plugin-disabler.php
Created August 16, 2022 15:20
plugin disabler per environment WordPress (slightly modified)
<?php
/*
Plugin Name: Simple Environment plugin disabler
Description: Disables plugins based on environment settings.
Original Author: Kamil Grzegorczyk
Related blog post: https://roots.io/guides/how-to-disable-plugins-on-certain-environments/
Version: 0.1
*/
class DisablePlugins
@broskees
broskees / change_vagrant_version_brew.sh
Last active August 14, 2022 16:46 — forked from jonashackt/downgrade_brew_package.sh
Downgrade homebrew (cask) package
# Uninstall current version you want to change
brew uninstall --cask vagrant
# e.g. Vagrant
brew edit --cask vagrant
# replace the contents of that file with the version of the file found in github history:
# https://github.com/Homebrew/homebrew-cask/commits/master/Casks/vagrant.rb
# or change version and SHA256, you can find on https://releases.hashicorp.com/vagrant/
```
@broskees
broskees / Zettlekasten ID
Created January 7, 2022 23:42
Readwise to obsidian template - zettlekasten 12 digit id (based on date & time) (Jinja)
{{date|date("Ymd")}}{% for char in time|replace(":", "")|replace("am", "")|replace("pm", "")|list %}{% if loop.index == 1 and time[1] == ":" and "am" in time %}0{{char}}{% elif loop.index < 3 and time[2] == ":" and time[1] == "2" and "am" in time %}0{% elif loop.index == 1 and time[1] == ":" and "pm" in time %}{{char|int() + 12}}{% elif loop.index < 3 and time[2] == ":" and "pm" in time %}{{char|int() + loop.index}}{% else %}{{char}}{% endif %}{% endfor %}