Skip to content

Instantly share code, notes, and snippets.

View willmot's full-sized avatar

Tom Willmot willmot

View GitHub Profile
@willmot
willmot / gist:1277790
Created October 11, 2011 10:33
WordPress attachment category plugin
<?php
/*
Plugin Name: Attachment Categories
Description: Allows attachments to be categorised
Version: 1.0
Author: Human Made Limited
Author URI: http://hmn.md
*/
@willmot
willmot / category-sticky-posts.php
Created December 1, 2011 16:29
Show sticky posts on category archive pages
/**
* Adds sticky posts to your category archive
* pages.
*
* Works in exactly the same way as sticky posts work
* on the homepage, including all the negatives like
* breaking the posts_per_page and only showing
* them on page 1 etc.
*
* @param array $posts
@willmot
willmot / plugin-activate.php
Created January 29, 2012 17:24
Require a minimum PHP version on plugin activation
<?php
// Don't activate on anything less than PHP 5.2.4
if ( version_compare( phpversion(), '5.2.4', '<' ) ) {
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
deactivate_plugins( WPRP_PLUGIN_SLUG . '/plugin.php' );
if ( isset( $_GET['action'] ) && ( $_GET['action'] == 'activate' || $_GET['action'] == 'error_scrape' ) )
die( __( 'WP Remote requires PHP version 5.2.4 or greater.', 'wpremote' ) );
@willmot
willmot / php.rb
Created March 20, 2012 12:46
PHP 5.2.4 Formula for Homebrew
require 'formula'
def mysql_installed?
`which mysql_config`.length > 0
end
class Php < Formula
url 'http://museum.php.net/php5/php-5.2.4.tar.gz'
homepage ''
md5 '0826e231c3148b29fd039d7a8c893ad3'
@willmot
willmot / .gitignore
Created May 29, 2012 21:00
Yell .gitignore file
/.htaccess
/wp-config.php
/wp-content/uploads/
@willmot
willmot / disable-updates.php
Created May 29, 2012 21:08
Disable core, theme and plugin update checks and notices and remove the update page from nav
<?php
// Don't disable on dev
if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) {
// Disable core update checking
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
remove_action( 'admin_init', '_maybe_update_core' );
remove_action( 'wp_version_check', 'wp_version_check' );
@willmot
willmot / termmeta.php
Last active May 6, 2016 22:32
Add termmeta support to WordPress including a termmeta table and all the standard WordPress metadata functions
<?php
/**
* Setup the termmeta table
*
* Use <code>add_theme_support( 'term-meta' );</code> to enable support for term meta
*/
function hm_add_term_meta_table() {
global $wpdb;
@willmot
willmot / github callback handler.php
Created June 26, 2012 15:19
Auto git pull on every push to github
<?php
// TODO Handle tagged releases
// TODO Check current branch is checked out before pulling
// TODO Store sites in separate config file
// TODO Allow config file to be in folder above root.
// TODO Allow updating via $_GET?
// TODO Make sure sane git status before pulling?
// You can't view this file directly
@willmot
willmot / wordpress.vcl
Created July 4, 2012 15:48
WordPress Varnish VCL
backend default {
.host = "127.0.0.1";
.port = "8444";
}
sub vcl_recv {
# Allow the back-end to serve up stale content if it is responding slowly.
set req.grace = 2m;
@willmot
willmot / httpd-headers.conf
Created July 4, 2012 15:58
Cache control headers
<IfModule mod_mime.c>
AddType text/css .css
AddType application/x-javascript .js
AddType text/x-component .htc
AddType text/html .html .htm
AddType text/richtext .rtf .rtx
AddType image/svg+xml .svg .svgz
AddType text/plain .txt
AddType text/xsd .xsd
AddType text/xsl .xsl