Skip to content

Instantly share code, notes, and snippets.

View ChrisHardie's full-sized avatar

Chris Hardie ChrisHardie

View GitHub Profile
@ChrisHardie
ChrisHardie / keybase.md
Created July 19, 2014 20:53
Keybase identity proof

Keybase proof

I hereby claim:

  • I am ChrisHardie on github.
  • I am chrishardie (https://keybase.io/chrishardie) on keybase.
  • I have a public key whose fingerprint is 20C3 E523 5B67 AB60 9F3C 1024 FFB4 0D5A 25D9 BA70

To claim this, I am signing this object:

@ChrisHardie
ChrisHardie / jetpack-test.php
Created January 23, 2018 20:16 — forked from delputnam/jetpack-test.php
A simple WordPress plugin to allow testing of Jetpack's Related Posts module
<?php
/**
* @package Jetpack_Test
* @version 1.0
*/
/*
Plugin Name: Jetpack Test
Description: Allows certain Jetpack modules that would otherwise require a connection to WordPress.com to be run in a local development environment.
Author: Del Putnam
@ChrisHardie
ChrisHardie / class-jch-portfolio-postmeta.php
Created July 5, 2018 12:55
Extend the Jetpack Portfolio CPT to allow specifying a project URL that can be linked to instead of the portfolio item itself
<?php
/**
* Class JCH_Portfolio_Postmeta
* Create meta boxes, post meta fields and archive link filters for portfolio items
* With some help from https://gist.github.com/carlodaniele/121841f92956c3304436
*/
class JCH_Portfolio_Postmeta {
@ChrisHardie
ChrisHardie / functions.php
Last active August 21, 2018 19:41
Example function to load plugins within wp-content/themes/mytheme/plugins/
/**
* Add in-theme plugins
*/
function my_theme_plugins() {
$plugins_to_include = array(
'wordpress-fieldmanager/fieldmanager.php',
);
if ( count( $plugins_to_include ) ) {
@ChrisHardie
ChrisHardie / functions.php
Created September 12, 2018 17:06
Override Jetpack development mode to activate modules for testing in WordPress
/**
* Modify Jetpack module properties for testing/development
*
* @param array $mod Module to look at modifying the properties of.
* @return boolean
*/
function jp_module_override( $mod ) {
switch ( $mod['name'] ) {
case 'Related posts':
$mod['requires_connection'] = false;
@ChrisHardie
ChrisHardie / functions.php
Created September 24, 2018 16:19
WordPress one-time role/capability fix for Yoast SEO on Multisite
if ( ! function_exists( 'my_add_seo_caps' ) ) {
function dnc_add_seo_caps() {
// Get admin role
$role = get_role( 'administrator' );
// Add YOAST SEO Roles
$role->add_cap( 'wpseo_manage_options' );
$role->add_cap( 'wpseo_edit_advanced_metadata' );
$role->add_cap( 'wpseo_manage_redirects' );
$role->add_cap( 'wpseo_bulk_edit' );
}
@ChrisHardie
ChrisHardie / rss.pl
Created January 10, 2019 20:38
Generate an RSS feed in Perl
#!/usr/bin/perl
use XML::RSS;
use strict;
my @event_array = <SQL MAGIC GOES HERE>;
my $rss = new XML::RSS;
$rss->channel( title => 'Your Title Here', link => 'https://...',
description => 'Your description here.' );
@ChrisHardie
ChrisHardie / get-facebook-events.php
Created October 8, 2019 13:07
Proof of concept, retrieve publicly-available Facebook page event data.
<?php
/**
* Proof of concept, retrieve publicly-available Facebook page event data.
* Chris Hardie <chris@chrishardie.com>
*
* To use, first add Guzzle as a dependency:
* $ commposer require guzzlehttp/guzzle
*
*/
@ChrisHardie
ChrisHardie / check-for-results.php
Created November 5, 2019 23:44
A PHP script to check for results in the Wayne County, Indiana 2019 Mayoral Election
<?php
require __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/config.php';
$output_messages = array();
$wayneco_results_html = file_get_contents( WAYNECO_RESULTS_URL );
$state_results_html = file_get_contents( STATE_RESULTS_URL );
@ChrisHardie
ChrisHardie / class-api-routes.php
Created February 18, 2020 16:30
Flickr-to-WordPress: a class defining a REST API endpoint to determine the local WordPress equivalent of an imported Flickr photo
<?php
/**
* Class JCHPhotos_Plugin_API_Routes
*
* Handles API endpoints for looking up Flickr-to-WordPres translation stuff.
*/
class JCHPhotos_Plugin_API_Routes {