Skip to content

Instantly share code, notes, and snippets.

View johnregan3's full-sized avatar

John Regan johnregan3

View GitHub Profile
### Keybase proof
I hereby claim:
* I am johnregan3 on github.
* I am johnxwp (https://keybase.io/johnxwp) on keybase.
* I have a public key whose fingerprint is 2D1B 7A65 8C07 4C6D C7F9 96B9 9204 900E DDA2 50A4
To claim this, I am signing this object:
@johnregan3
johnregan3 / genesis-custom-favicon.php
Last active November 1, 2017 22:06
Filter to add a custom favicon to your Genesis child theme.
<?php
/**
* Add custom Genesis favicon
*
* Dude, replace the default Genesis favicon so you don't look like a n00b.
* Create your custom favicon.ico and place it in your child theme's directory.
* Add this code to your child theme's functions.php
*
* Images can be converted to the .ico format here: http://www.favicon-generator.org/
@johnregan3
johnregan3 / oop-plugin-basic.php
Last active December 27, 2019 00:42
Basic Demonstration of Using OOP in a WordPress Plugin
/*
* Plugin Header...
*
* Note: This particular block of code won't actually run because it doesn't have
* the details of the register_post_type and register_taxonomy functions filled in.
*/
class JR3_Books {
/**
@johnregan3
johnregan3 / jr3-improved-awp-rules.php
Last active February 13, 2016 01:56
My "improved" version of the AdvancedWP rules :D
<?php
/**
* Plugin Name: John Regan's Improved AWP Rules
* Plugin URI: https://gist.github.com/johnregan3/4a145185d97dd33806ad
* Version: 1.0
*
* @see http://www.advancedwp.org/awp-contribution-rules/
*
* Description: Yes, I get it -- this document was never intended to be technical, it's intended to be fun and readable.
* This is not intended to be a criticism of the original in any way; it's just a way for me to introduce myself to the group,
@johnregan3
johnregan3 / wp-amp-tutorial-register-cpts.php
Last active July 21, 2016 17:54
Registering a Custom Post Type with the WP AMP plugin
<?php
/**
* Register CPTs to be included with AMP integration.
*
* Be sure to visit Settings > Permalinks and save twice
* to ensure the rewrite rules are flushed after adding this.
*
* @action amp_init
*/
function jr3_amp_register_post_types() {
@johnregan3
johnregan3 / wp-amp-tutorial-register-templates.php
Last active September 28, 2016 16:23
Registering a Custom Template with the WP AMP plugin
<?php
/**
* Add a custom AMP template file.
*
* Registers templates in a templates subdirectory by post type slug.
* (e.g., "./templates/book.php")
*
* @filter amp_post_template_file
*
* @param string $file The file name input.
@johnregan3
johnregan3 / wp-amp-tutorial-filter-shortcode-podcast.php
Last active December 25, 2019 13:06
Filtering WP Shortcodes to comply with AMP standards.
<?php
/**
* Hijack a hypothetical [podcast] custom shortcode for AMP.
*
* Replaces [podcast] output with amp-audio.
*
* Be sure you've added the amp-audio component script to the template.
*
* @filter the_content
*
@johnregan3
johnregan3 / wp-amp-tutorial-register-component-scripts.php
Last active July 13, 2016 00:57
Registering Component Scripts for AMP Extensions with the WP AMP plugin
<?php
/**
* Include AMP component scripts.
*
* Be sure to only register the scripts for the extensions
* that you really need to reduce page load times.
*
* @filter amp_post_template_data
*
* @param array $data Input from filter.
@johnregan3
johnregan3 / wp-amp-tutorial-menu.php
Last active December 31, 2019 03:01
Creating a Menu using amp-sidebar in WordPress
<?php
/**
* Render the Primary Nav Menu
*
* Uses amp-sidebar to handle
* slideout animation.
*
* Be sure to include the amp-sidebar component script.
* Also, rememeber that the amp-sidebar element must be
* a direct child of the <body>.
@johnregan3
johnregan3 / wp-amp-tutorial-amp-head.html
Created July 12, 2016 17:51
Example AMP template HTML <head>
<!doctype html>
<html ⚡>
<head>
<meta charset="utf-8">
<title>Sample document</title>
<link rel="canonical" href="./regular-html-version.html">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<scrip