Skip to content

Instantly share code, notes, and snippets.

View mhull's full-sized avatar

Michael Hull mhull

View GitHub Profile
@mhull
mhull / Members_manage_roles_items.php
Last active May 25, 2016 23:24
Filter roles list in the Members plugin
<?php
/**
* Filter the roles table items on the Users > Roles screen
*
* @param array $roles List of role "slugs" being shown in the table
* @param string $role_view View type for current screen (e.g. all, mine, active, etc)
*
* @return array The filtered $roles array
*/
add_filter( 'members_manage_roles_items', 'my_manage_roles_items', 10, 2 );
<?php
/**
* The `Helping_Friendly_Post` class is an exercise in thinking about extending the `WP_Post` class
*
* @see https://github.com/mhull/helping-friendly-plugin/blob/master/lib/class-hphp-post.php
*/
/**
* To get a new extended post by ID
*/
@mhull
mhull / .WordPress-Using-hooks.php
Last active June 5, 2016 12:13
Code examples from my Asheville WordCamp 2016 talk entitled "Using Hooks (and creating your own)"
<?php
/**
* Attempting to register a post type within a plugin, without using a hook,
* results in a fatal error
*/
$args = array(
... etc ...
);
register_post_type( 'my_post_type', $args );
@mhull
mhull / .Acme-Plugin.php
Last active August 11, 2016 15:23
A WordPress plugin example using PHP namespaces and autoloading
<?php
#! /acme-plugin/acme-plugin.php
/**
* Plugin Name: ACME Plugin
* Description: A WordPress plugin example using PHP namespaces and autoloading
* Version: 0.0.0
* Author: Michael Hull
* Author URI: https://resoundingechoes.net
*/
@mhull
mhull / _0.key-template.html
Last active December 13, 2016 16:44
Playing audio files using JS and HTML, experimentations based on JavaScript30 Day 1
<!-- Key template -->
<script type='text/html' id='key-template'>
<kbd>{{ key.key }}</kbd>
<span class='sound'>{{ key.name }}</span>
<audio src="sounds/{{ key.name }}.wav"></audio>
</script>
@mhull
mhull / _0.es6-string-literals.js
Last active December 17, 2016 21:28
Highlights on making a CSS & JS clock, based on Wes Bos's 30 Day Vanilla JS challenge
/**
* In the `person.sayHello` function, we are using an ES6 template literal
* to dynamically create a string
*/
var person = {
first: 'Michael',
last: 'Hull',
sayHello: function() {
console.log( `Hi, my name is ${this.first} ${this.last}` );
},
@mhull
mhull / 01-coin-tosses.js
Last active February 1, 2017 13:45
Comparing the .some() and .every() functions in JavaScript to the "At Least One" rule
var coinTosses = [
{ isHeads: true, user: 'Michael', time: 1485954569 },
{ isHeads: false, user: 'Michael', time: 1485954575 },
/* ... etc ... */
];
@mhull
mhull / 00.src\app\app.component.ts
Last active March 21, 2017 20:31
Exploring Angular 2
import { Component } from '@angular/core';
@mhull
mhull / 0.function_composition.php
Created May 9, 2017 14:10
Examples of function composition using PHP and JavaScript
<?php
function f( $x ) {
return $x+5;
}
function g( $x ) {
return $x+1;
}
@mhull
mhull / 0.no_inputs.php
Last active June 21, 2017 15:23
Exploring the definition of a function in math and how it can inform my understanding of functions in programming
<?php
/**
* This function has no inputs, so it is not a function from a mathematical
* perspective. Furthermore, the function is not predictable because it depends on
* the state of the underlying program
*/
function say_hello() {
$name = 'World';