Skip to content

Instantly share code, notes, and snippets.

View davemac's full-sized avatar

davemac davemac

View GitHub Profile
@davemac
davemac / package.json
Last active December 4, 2015 09:34
Useful grunt build tasks
{
"name": "foundation-libsass-template",
"version": "0.0.1",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-autoprefixer": "^3.0.3",
"grunt-bower-concat": "^0.6.0",
"grunt-contrib-copy": "^0.8.1",
"grunt-contrib-jshint": "^0.11.2",
"grunt-contrib-uglify": "^0.11.0",
@davemac
davemac / Gruntfile.js
Last active December 4, 2015 09:32
Gruntfile, as it stands now
'use strict';
module.exports = function(grunt) {
// load all grunt tasks
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
var jsFoundation = [
'bower_components/foundation/js/foundation/foundation.js',
// 'bower_components/foundation/js/foundation/foundation.abide.js',
@davemac
davemac / gist:a8c2b3eead05c859ecbe
Created August 14, 2014 00:32
Add custom RSS feed to Wordpress
function get_me_the_email_feed_template() {
add_filter('the_content_feed', 'css_tricks_super_awesome_feed_image_magic');
include(ABSPATH . '/wp-includes/feed-rss2.php' );
}
function css_tricks_super_awesome_feed_image_magic($content) {
// Weirdness we need to add to strip the doctype with later.
$content = '<div>' . $content . '</div>';
$doc = new DOMDocument('1.0', 'utf-8');
$doc->LoadHTML('<?xml encoding="UTF-8">' . $content);
@davemac
davemac / gist:21c27ef369864e458e18
Last active August 29, 2015 14:07
WordPress list custom post grouped by taxonomy term
<?php
$terms = get_terms( 'sponsor_type', array(
'orderby' => 'id',
) );
?>
<?php
foreach( $terms as $term ) {
@davemac
davemac / gist:fe8f93e2c302071ee290
Last active August 29, 2015 14:08
WP Sidebars
add_action( 'widgets_init', 'dmc_register_sidebars' );
function dmc_register_sidebars() {
register_sidebar(array(
'name'=> 'Conferences Sidebar',
'id' => 'sidebar-conferences',
'description' => 'Widgets placed here will appear in the sidebar on the Conferences pages',
'before_widget' => '<article id="%1$s" class="panel widget %2$s">',
'after_widget' => '</article>',
'before_title' => '<h4>',
@davemac
davemac / register_button
Created December 2, 2014 09:10
WordPress show button if event start date is before today's date
function register_button() {
$output = '';
$current_date = date_i18n('Y-m-d');
$date = DateTime::createFromFormat('jS F, Y', get_field('dmc_conference_date'));
$moddate = $date->format('Y-m-d');
if ( $moddate < $current_date ) :
$output .= '<a href="/pre-register-for-a-conference/" class="button radius large right">Pre-Register for 2015</a>';
else :
$output .= '<a href="' . esc_url(get_field('dmc_conference_rego_link')) . '" class="button radius large right">Register Now</a>';
endif;
@davemac
davemac / gist:23596001695f65625f07
Created December 12, 2014 08:54
WP remove menu options for user level
if ( ! current_user_can( 'manage_options' ) ) {
add_action( 'admin_menu', 'admin_menu_example' );
}
function admin_menu_example() {
remove_menu_page( 'index.php' ); //Dashboard
remove_menu_page( 'edit.php' ); //Posts
remove_menu_page( 'upload.php' ); //Media
remove_menu_page( 'edit.php?post_type=page' ); //Pages
remove_menu_page( 'edit-comments.php' ); //Comments
@davemac
davemac / Pure-CSS-Loaders-kit.markdown
Created January 25, 2015 08:31
Pure CSS Loaders kit
@davemac
davemac / gist:90b8196e77038406272e
Last active August 29, 2015 14:14
WP limit number of posts on a specific custom post archive page
/**
* Dynamically sets the post_per_page limit to -1 (unlimited) on the Partner archive page.
* @param $wp_query
*/
function limit_posts_per_partner_page( $wp_query ) {
if ( $wp_query->is_post_type_archive && !is_admin() && $wp_query->query['post_type'] == 'partners' ) {
set_query_var( 'posts_per_archive_page', -1 );
}
}
add_filter( 'pre_get_posts', 'limit_posts_per_partner_page' );
@davemac
davemac / gist:851ef9207e8481df1bab
Last active August 29, 2015 14:14
WP limit number of posts on a specific category page
/**
* Dynamically sets the post_per_page limit to 4 on the media post category archive
* @param $wp_query
*/
function limit_posts_per_media_category( $wp_query ) {
if ( is_archive( 4 ) ) {
set_query_var( 'posts_per_page', 2 );
}
}
add_filter( 'pre_get_posts', 'limit_posts_per_media_category' );