Skip to content

Instantly share code, notes, and snippets.

View johnregan3's full-sized avatar

John Regan johnregan3

View GitHub Profile
@johnregan3
johnregan3 / dynamically-generated-settings.php
Last active May 25, 2023 07:35
A method for dynamically generating Settings Fields in WordPress through the use of an anonymous function assigned to a variable variable. This could be expanded to generate different input types (hidden, text, textarea, and maybe a select), and to dynamically generate Setting Sections and Section Callbacks.
<?php
/*
* Dynamically Generated Checkboxes in a WordPress Settings Page
*
* This file is fully functional and ready to be used in a plugin or theme to generate this Settings Page
*
*/
Class Pizza_Shop {
@johnregan3
johnregan3 / cpt_in_wp_submenu.php
Last active December 3, 2022 07:32
Add Custom Post Type to WordPress Plugin Submenu (Hack)
<?php
/*
Plugin Name: Nerfherder Plugin
Plugin URI: https://gist.github.com/johnregan3/6133389
Description: Demonstration of how to add Custom Post Types to Submenu Items
Author: John Regan
Author URI: http://johnregan3.com
Version: 1.0
*/
@johnregan3
johnregan3 / mysql2date-unit-test.php
Created August 9, 2013 15:33
WordPress Unit Test for get_post_time(), get_post_modified_time() and mysql2date()
<?php
/**
* Tests if get_post_time() and get_post_modified_time() return GMT(UTC) times correctly.
*
* get_post_time() and get_post_modified_time() have a parameter for GMT(UTC) time.
* However, they use mysqldate(), which does not take such a parameter.
* mysql2date() expects the default timezone to be set to GMT(UTC), but when it is not,
* get_post_time() and get_post_modified_time() do not correctly return GMT(UTC) time.
* To prove this, test_get_post_time() and test_get_post_modified_time() should return two
@johnregan3
johnregan3 / save_post_post_type_test.php
Last active December 21, 2015 07:18
Unit Test for WordPress' save_post{$post_type}
<?php
/**
* This has been tested using the diff for save_post_{$post_type}
* https://core.trac.wordpress.org/changeset/25050
*
* @todo Try different post type names
* @todo Create two posts and try to update them both at the same time
*/
@johnregan3
johnregan3 / schedule-event-tutorial.php
Last active December 29, 2015 21:30
Code for a wp_schedule_single_event Tutorial.
<?php
/**
* Plugin Name: Schedule Event Tutorial
* Description: Schedules single event to uncheck a checkbox on a custom Menu page
* Version: 0.1
* Author: John Regan
* Author URI: http://johnregan3.me
* Text Domain: setjr3
* License: GPLv2+
@johnregan3
johnregan3 / import_videos.php
Last active December 28, 2015 01:28
import_videos.php
<?php
// Untested Code!
//Generate New Page from Video
function copy_videos_to_pages( $post_id ) {
// Only if we're saving a flowplayer5 video
if ( 'flowplayer5' !== get_post_type( $post_id ) )
return $post_id;
@johnregan3
johnregan3 / removing-duplicates.php
Created November 15, 2013 20:35
Removing duplicate brightcove ID's
$playlist = array(
[0] => WP Post Object
[ID] => 1;
[_brightcove_id] = 1
[1] => WP Post Object
[ID] => 2;
[_brightcove_id] = 2
[2] => WP Post Object
[ID] => 3;
[_brightcove_id] = 1
@johnregan3
johnregan3 / vertical-featured-image.php
Last active January 2, 2016 00:49
Add Support for Featured Images in you WordPress theme. Requires CSS like ".vertical-image { float:left; }" to work correctly.
@johnregan3
johnregan3 / stream-user-generator.php
Last active August 29, 2015 14:00
Stream User Generator
<?php
/**
* Plugin Name: Stream User Generator
* Description: Generates X-Team users for testing
* Version: 0.1
* Author: johnregan3
* Author URI: http://johnregan3.me
*
* USE:
* Upload this into your Plugins directory.
@johnregan3
johnregan3 / hello-slj.php
Last active August 29, 2015 14:00
Hello Samuel L Jackson WordPress Plugin
<?php
/**
* Plugin Name: Hello Samuel L Jackson
* Description: Inserts random movie quotes by Samuel L. Jackson into your Admin header.
* Version: 1.0
* Author: John Regan
* Author URI: http://johnregan3.me
* License: GPLv2+
*/