Skip to content

Instantly share code, notes, and snippets.


Shawn Hooper shawnhooper

View GitHub Profile
shawnhooper / count.php
Created Sep 8, 2021
Using the doesntExist() method in Laravel
View count.php
// This works
if ( 0 === $model->where('status', 'pending')->count() ) {
// But since I don't care about the count, just that there isn't one
// Laravel's exists() method is cleaner.
if ( ! $model->where('status', 'pending')->exists() ) {
shawnhooper / functions.php
Created Sep 3, 2020
WordPress - Disable saving in the customizer
View functions.php
/** Add this to the bottom of your functions.php file in your theme **/
require_once ABSPATH . WPINC . '/class-wp-customize-manager.php';
remove_action('wp_ajax_customize_save', array($GLOBALS['wp_customize'], 'save'));
add_action('wp_ajax_customize_save', 'return_403_on_customizer_save');
function return_403_on_customizer_save() {
wp_send_json(array('message' => 'Theme Editor in Read Only Mode'), 403);

Keybase proof

I hereby claim:

  • I am shawnhooper on github.
  • I am shawnhooper ( on keybase.
  • I have a public key ASAFhJS9Tr2by7SoXaTbAFYjzMEqPCWZkwydY212qjsnUgo

To claim this, I am signing this object:

View defaul.conf
server {
root /var/www/public;
listen 80;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
fastcgi_index index.php;
shawnhooper / tweetdeck-narrow-composer-bookmarklet.js
Created May 16, 2019
A bookmarklet to resize Tweetdeck's compose column after the May 2019 upgrade
View tweetdeck-narrow-composer-bookmarklet.js
View might-also-like.php
<div class="post-related col-xs-12 no-padding">
<div class="relatedposts col-md-10 col-md-offset-1">
<h3 class="relatedposts-title text-center">You might also like...</h3>
global $gemMightAlsoLike;
$recommended_posts = $gemMightAlsoLike->get_posts( get_the_ID() );
foreach ($recommended_posts as $recommended_post): ?>
<div class="relatedposts-item col-xs-12 col-sm-4 col-md-4">
View Update Core, Plugins & Themes - WP-CLI Demo Script
wp db export
wp core update
wp plugin update --all
wp theme update --all
View Create Base Site - WP-CLI Demo Script
wp core download --version=4.5
wp core config --dbname=$1 --dbuser=root --dbhost=
wp db create
wp core install --skip-email --title="$1" --admin_user="shawn" --admin_password="shawn" --url=
wp theme install simone --activate
wp plugin delete hello
wp plugin install any-ipsum;
wp plugin install advanced-custom-fields --version=4.4.0 --activate
wp plugin install tinymce-advanced --activate
shawnhooper / modify_rest_caps.php
Created Dec 2, 2015
Allow WordPress REST API to read a single post, by post status
View modify_rest_caps.php
add_filter( 'user_has_cap', array( __CLASS__, 'allow_rest_to_read_single_archived_module' ), 10, 3 );
* Modify the capabilities of the REST API to view a single
* "module" post if requested with its post ID.
* @param $allcaps
* @param $cap
* @param $args
View gist:45634ac1d1eebe74a2e0
Plugin Name: CLI Export Multisite
if ( ! defined( 'WP_CLI' ) ) return;
use \WP_CLI\Utils;