Skip to content

Instantly share code, notes, and snippets.

View petertwise's full-sized avatar

Peter Wise petertwise

View GitHub Profile
@petertwise
petertwise / newsite.sh
Created October 23, 2019 19:47
A small script for quickly whipping up a new WordPress site on localhost
#!/bin/bash
# Don't forget to enter your own email on line 19 and user Sites dir path on line 20
# set the slug
read -p "Enter the slug for the new site:" SLUG
# set the mysql password
read -s -p "Enter a MySQL password:" MYSQLPASS
# setup the directory and basic settings
@petertwise
petertwise / sync-remote
Created October 23, 2019 21:02
Bash Script to pull down WordPress database and files from a remote server
#!/bin/bash
# BEFORE YOU START:
# replace all instances of exampleproject with your real project usernames and local and remote paths
# make a backup of current local db
wp db export --add-drop-table
echo "✅ Make a backup of your current database state."
<?php
/*
Plugin Name: Square Candy ACF RGB color output
Plugin URI: http://squarecandydesign.com
Description: provides a function to output RGB values from ACF colorpicker fields
Author: Peter Wise
Version: 0.1
Author URI: http://squarecandydesign.com
*/
### Settings > Advanced > Stripe > Stripe Styles
#### Base Style
{
"color": "#333",
"fontWeight": "300",
"fontFamily": "Merriweather, serif",
"fontSize": "16px",
"letterSpacing": "0.5px",
@petertwise
petertwise / active-cpt-menu-trail.php
Last active May 6, 2020 07:35
On the single view of any WordPress custom post type item, make the archive menu item for that post type active
<?php
// on the single view of any custom post type item, make the archive menu item for that post type active
// set the global scope variables
$current_menu_parent = null;
$current_menu_item = null;
// STEP 1: loop through all the menu items and find the current and parent items
function squarecandy_active_items_prepare( $classes ) {
@petertwise
petertwise / admin.js
Last active June 2, 2020 01:03
Improve Data Entry and Accessibility when WordPress ACF after_title field group area is used. Tab order is now natural and overrides the core WP javascript that moves the focus to the_content after #title.
// Admin Functions
( function( $ ) {
// better accessiblity and data entry for ACF
$(document).ready( function() {
// if there is a an "after_title" field group
if ( $( '#acf_after_title-sortables' ).length ) {
// listen for keydown inside the main title field for any add/edit screen
$('body.post-new-php, body.post-php').on( 'keydown', '#title', function( e ) {
var keyCode = event.keyCode || event.which;
// if the key is tab
@petertwise
petertwise / give_anonymous_email_tag.php
Last active June 13, 2020 17:36 — forked from rickalday/give_anonymous_email_tag.php
GiveWP Anonymous Donation Email Tag
<?php
// Plugin Name: GiveWP Add Email Tag for Anonymous Checkbox
function give_anonymous_email_tag( $email_tags ) {
// Adds an email tag called {give_anonymous_status} to indicate whether the donor opted in or not.
$email_tags[] = array(
'tag' => 'give_anonymous_status', // The tag name.
'desc' => __( 'This outputs whether the donor opted-in to the anonymous option', 'give' ), // For admins.
'func' => 'render_give_anonymous_status_email_tag', // Callback to function below.
'context' => 'donation',
);
@petertwise
petertwise / youtube-cover-art.php
Last active July 31, 2020 07:52
Get the best version of youtube cover image without using the API
<?php
function url_exists( $url ) {
$headers = get_headers($url);
return stripos( $headers[0], "200 OK" ) ? true : false;
}
function get_youtube_id( $url ) {
$youtubeid = explode('v=', $url);
$youtubeid = explode('&', $youtubeid[1]);
@petertwise
petertwise / fitgittags
Created November 23, 2020 20:41
Script to fix mixed tags in 0.0.0 and v0.0.0 formats that cause issues with GitHub updater
# Script to fix mixed tags in 0.0.0 and v0.0.0 formats that cause issues with GitHub updater
# modified from https://stackoverflow.com/a/25939259/947370
# Loop over tags
git tag -l | while read -r tag
do
# skip if it's already in v0.0.0 format
if [[ $tag == v* ]] ;
then
@petertwise
petertwise / gist:e2ef15bea3bfa044e8b8ae528a3b31bf
Created November 29, 2020 22:29
ACFFA_icon_data values for 4.7.0
a:1:{s:5:"4.7.0";a:3:{s:4:"list";a:675:{s:8:"fa-500px";s:14:"&#xf26e; 500px";s:15:"fa-address-book";s:21:"&#xf2b9; address-book";s:17:"fa-address-book-o";s:23:"&#xf2ba; address-book-o";s:15:"fa-address-card";s:21:"&#xf2bb; address-card";s:17:"fa-address-card-o";s:23:"&#xf2bc; address-card-o";s:9:"fa-adjust";s:15:"&#xf042; adjust";s:6:"fa-adn";s:12:"&#xf170; adn";s:15:"fa-align-center";s:21:"&#xf037; align-center";s:16:"fa-align-justify";s:22:"&#xf039; align-justify";s:13:"fa-align-left";s:19:"&#xf036; align-left";s:14:"fa-align-right";s:20:"&#xf038; align-right";s:9:"fa-amazon";s:15:"&#xf270; amazon";s:12:"fa-ambulance";s:18:"&#xf0f9; ambulance";s:38:"fa-american-sign-language-interpreting";s:44:"&#xf2a3; american-sign-language-interpreting";s:9:"fa-anchor";s:15:"&#xf13d; anchor";s:10:"fa-android";s:16:"&#xf17b; android";s:12:"fa-angellist";s:18:"&#xf209; angellist";s:20:"fa-angle-double-down";s:26:"&#xf103; angle-double-down";s:20:"fa-angle-double-left";s:26:"&#xf100; angle-double-left";s:21:"fa-angle-double