An Open Letter to Jefferson County Open Space

Dear Mr. Jefferson County Open Space and Jefferson County Commissioners: My name Is Justin Hall. I live in the heritage neighborhood in Golden. I visit Apex park weekly assuming it’s dry and mostly on my mountain bike. I’m writing with growing concerns surrounding mountain biker access to Apex, and if I’m being honest, the discrimination […]

Three weeks in New Zealand by campervan

Nearly a year ago, Kelsey and I decided we were going to celebrate, well, us! Many do this by spending a very large sum of money on a rather large party thing with many guests, boutonnieres, a fluffy white dress and various traditions. Neither of us really being the white fluffy dress type, we decided […]

Live Previews with WordPress and Gatsby

Want to hop right to the code? GitHub Repository is here. There are so many headless WordPress GitHub examples now, whether they be tutorials, GitHub repos or actual production sites. Astounding considering where the space was just a few years ago. This is, yet another example, although perhaps more comprehensive in what it includes. Previews! […]

Deploying Gatsby to Amazon S3 with Travis CI

I finally got around to moving the view layer of this website to Gatsby. In doing so, I also hooked up Continuous Integration. The stack is as follows: WordPress as API. Available at https://data.justinwhall.com. Gatsby as the view layer. Static files stored on Amazon S3. Distributed by AWS CloudFront. DNS managed at CloudFlare.  TravisCI builds […]

Headless WordPress + Gatsby + Netlify continuous deployment

Update (10/27/2019): I’ve taken what I’ve learned here and launched Static Fuse where you’ll find Gatsby Themes and more developer tools and references like this article. What is this? TL;DR WordPress as a CMS. Front end built with Gatsby. Deployment to Netlify on post publish or update. Support for staging and production environments. Why WordPress + […]

Look Ma, No JavaScript Framework OR jQuery

Yes, it’s not only possible, it’s a damn good idea and one of the best engineering decisions you can make. Always? Of course not. JavaScript frameworks make a lot of sense in a lot of situations and I quite like using them. jQuery too, has it’s place. Horses for courses. But seriously… Today’s “course” is my very own […]

WP Tel Links WordPress Plugin

Finds all telephone numbers and replaces them with click-2-call tel links. No set up required. On the web WordPress Plugin Repository GitHub Installation Upload stripe-card-reminder.php to the /wp-content/plugins/ directory Activate the plugin through the ‘Plugins’ menu in WordPress Congrats. You are done! FAQS How does it work? The plugin loads a javascript file that parses […]

Stripe credit card expiration reminder WordPress plugin

Card Expiration Reminder for Stripe runs a customizable report and notifies Stripe subscription customers of credit cards that expire soon. Customizable date range and email settings. Notify your customers before their card is declined and have them update their payment method in ‘/my-account/’ Sick of cards getting declined expiration? Yep, me too. Happens frequently to […]

Uncaught Error: Syntax error, unrecognized expression: a[href*=#]

WordPress was nice enough to release “Coleman” on my birthday. That’s April 12th for those of you who don’t know my personally. Theres’ a number of under the hood and user-interface improvements but there was also a slew of library updates that cause me and likely many others a few more headaches after upgrading the […]

Strava API as WordPress Plugin

I recently had a project that involved the Strava API which was super fun as it was awesome subject matter and I especially like working with Javascript; Especially maps. Sadly I can’t link to the project due to an unfortunate NDA. I can say I learned quite a bit about the Strava API. While not as robust […]

Get posts in the future with advanced custom fields date picker

Perhaps you have an events custom post type registered with WordPress. Perhaps you are using the date field for Advanced Custom Fields. I’d wager a guess you want to get all the events that have a date greater than (in the future) the current date. Who cares about past events?   [code] $today = date(‘Ymd’); […]

WP Minimum Image Upload Size

WordPress Plugin that validates images. Configure minimum image upload size on the settings page for post types and custom fields. Current Version: 0.1.0 Github Page:https://github.com/justinwhall/wordpress-min-image-upload-size About WordPress’ add_image_size() function is great. There is however, one problem. Take, for instance, the following function. [code] function my_theme_setup() { add_theme_support( ‘post-thumbnails’ ); add_image_size( ‘slider’, 1500, 800, true ); […]

To perform the requested action, WordPress needs to access your web server.

But wait a minute I’m WordPress is running locally. Perhaps on MAMP? [php] define(‘FS_METHOD’,’direct’); [/php] What is it? According to WordPress.org: (Primary Preference) “direct” forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate. Here’s the […]

Default Twitter Bootstrap CSS Media Queries

[css] @media(max-width:767px){} @media(min-width:768px){} @media(min-width:992px){} @media(min-width:1200px){} [/css] If you’re using SASS or LESS. [css] @media(max-width: @screen-xs-max){} @media(min-width: @screen-sm-min){} /* deprecated: @screen-tablet, or @screen-sm */ @media(min-width: @screen-md-min){} /* deprecated: @screen-desktop, or @screen-md */ @media(min-width: @screen-lg-min){} /* deprecated: @screen-lg-desktop, or @screen-lg * [/css]

HTML5 video not playing on iOS devices.

We’ve all heard of it. Most sites are using it. It’s called HTML5 and more specifically for this post – HTML5 Video. For maximum browser support, use three types of video. Add them as <source> tags, wrap them all up in a video tag and you’re off and running. In its simplest form, a HTML5 […]

Change twitter bootstrap carousel transition from slide to fade

I frequently use Rachel Bakers BootstrapWP which is a great development theme for Responsive WordPress Design. There’s also a branch that comes with all the components of bootstrap 3. Still though no fade transition for the build in slider or carousel. This is easily fixed with a bit of CSS. [css] .carousel-fade .carousel-inner .item { opacity: […]

Easily create Twitter Bootstrap buttons of all colors

I love Twitter Bootstrap. The button classes are hugely convenient and the CSS3 animation is a great touch. Bootstrap comes with a few different default button colors you can implement by using the built in CSS classes. [html] //Default gray button <button class="btn">Primary</button> //Blue button <button class="btn btn-primary">Primary</button> //Orange button <button class="btn btn-warning">Warning</button> //Red button […]

Responsive design with a view full site link

A warranted preface on media queries and responsive design Does a responsive design with a view full site link really make sense?  As developers (and UI/UX designers) shouldn’t we be using the media queries to present information in a pleasant and effective manner for each and and every screen size? If you subscribe to the philosophy of ‘responsive design’, than yes. And […]

Directory jQuery Slider

Loads all images in a specified directory and creates a slide show Current Version: 0.9 Github Page: https://github.com/justinwhall/directorySlider About I occasionally work on an application that is, for all intent and purposes, a CMS. This application and its subsequent ‘sites’ all use the same exact markup. There is some flexibility with some custom fields, but for reasons […]

Changing WordPress Default Taxonomies

Sometimes the native out-of-the-box WordPress Taxonomies ‘Categories’ & ‘Tags’ just don’t make sense when structuring the content. Or maybe, said taxonomies play an explicit role in  dynamically generated content and you need to make is EXTRA clear to the end user what exactly these ‘tags’ or ‘categories’ actually DO? A recent example was website where categories where […]

Responsive drop down menu with CSS media queries &#038; jQuery

Or in other words, display a custom (mobile?) menu at a user defined breakpoint. So the steps are 1)Detect browser window size onload 2)Apply appropriate menu 3)Monitor window size 4)Apply appropriate menu at breakpoint How we’re going to do it 1)Detect window size with CSS media Queies and jQuery onload 2)Apply add CSS helper class […]

Retrieve all image attachments for a WordPress post

I use this a lot. Typically becuase I have some sort of custom write panel that allows the user to upload mutiple images, attach them to the post and then said images populate a gallery – or something along those lines. Get the “posts” Image attachments are just another type of  “post” within the data […]

Custom Taxonomy Breaks Permalinks

No kidding! Chances are if you are reading this you’ve done some head scratching on this topic.I’m willing to bet the problem is you’ve changed somtheing in regards to your custom taxonomies and  a rewrite setting is persisting, thus pulling a 404, when you navigate to an archive page of said taxonomy(s). This was my problem. […]

Custom WordPress Post Titles

It’s sometimes desirable to set a “maximum title length” so your theme doesn’t break when a user decides to use a ludicrously long post title. So filter the_title(). [code] function the_titlesmall($echo = true, $before = ”, $after =’…’, $length) { $title = get_the_title(); if ( strlen($title)>$length ) { $title = substr( $title, 0, $length ); […]

Add a color picker to your WordPress theme options page

This is by request and quite frankly quite simple. The following builds on  “Multiple upload inputs in a WordPress theme options page?” If you theme options page is constructed in a different manner, it’s still possible this will still be of help. First, get the script I like jscolor. It’s simple, lightweight and real easy to use. […]

Multiple custom buddypress avatars

I while back I wrote blog on custom buddypress avatars. A commenter asked about using more then one avtar. Hmmmm, good idea! Simple solution? Sure! We got that. Create your avatars And name them something like: my-avatar-1.png my-avatar-2.png my-avatar-3.png And so on for as many as you’d like. Mix it up [code] function myavatar_add_default_avatar( $url ){ $randomNumber […]

Bad value category tag for attribute rel on element a

Until HTML5 is finilized, the validator is really “experimental”. So in the mean time, we’ll all have to live with things like this. If you must have the little green check there is a clever way to get around this. Just a friendly reminder that you can pass the str_replace function an array as the […]

Multiple upload inputs in a WordPress theme options page?

WordPress settings API Lots of info and tutorials on the net on the subject of WordPress “theme options” or  “admin” pages. Many of them are out dated and don’t subscribe to the current best practices as outlined by WordPress – in other words the settings API. Nettuts is always a great place to start. In […]

Best way to embed non-flash video?

Video is a bit of a sticky wicket when it comes to web development. There are a number fo different approaches, all of wich have drawbacks. As of  WordPress 3.3.1 there is nothing built into the core that allows easy video embedding via the post editor. The following are the most common ways to embed video. See […]

Duplicate Titles with Yoast&#8217;s WordPress SEO Plugin

This is a ‘problem’ that’s perpetually swirling around the WordPress support forums. Here’s just one example.  I’ll be honest, I haven’t thoroughly combed through the code that hooks into the title and outputs the new “Yoast title”. I will however say, it works perfectly on many, many sites I’ve been using it on. That being said, for each an […]

WordPress custom post type 404 with &#8220;pretty&#8221; permalinks

Here’s the scenario, you’re working locally (or maybe you’re not), all your work is ready to be pushed to a live server (or maybe it’s already there). Regardless, you’re done coding and all there is left to do is configure your permalinks and tell google you’re ready for the big stage. You enter you permalink […]

Finding Social Icons

If you are anything like me, you find yourself looking for “free” icons you can use “as is” or manipulate in Photoshop, Illustrator (or whatever image editor you use) to save yourself the time from creating them from scratch. Google and Google images will turn up oodles, but it’s sometimes difficult to sift through all the data. […]

Toggle divs independently with jQuery

Sorry, this post was outdated and has been removed.

Five things to love and hate about Panic&#8217;s text editor Coda

I’m an avid Coda user and it’s not for lack of exploring. So you can calibrate my opinions, I’ve given the following text editors at least a ride around the block. Dreamweaver TextMate BBedit komodo Edit (pro) Espresso Aptana Studio3 CSSedit So with that being said… love 1) One Window Development I am a complete […]

query_posts breaks pagination

Everyone once in a while I’ll find myself amidst some sort of code riddle. More often then not it’s due to a plugin conflict, a CSS selector gone rogue or in most cases some typo where I’m missing a closing bracket, parenthesis or something like that. Although sometimes totally maddening, it’s generally pretty easy to […]

XML PARSING ERROR:

Ever got this message before and wondered WTF is going on? I did. Was working on a site on specified development URL only my client had access to. Implemented RSSfeeds for all the blog categories with the following in WordPress: [php] wp_list_categories(‘feed_image=http://www.yoururl.com/wp-content/themes/simplo/images/feed.png&amp;feed=XML Feed&amp;optioncount=1&amp;children=0’);?&gt;[/php] Once approved, I copied it over to their live site. Only to be […]

Custom buddypress avatars

I’ve got a project over at www.mtbikenow.com that is powered by the buddypress framework. While technically a plugin developed for WordPress, it’s really a whole lot more robust than your typical plugin. That being said, default avatars (from any web application) are high on the list of bad site aesthetics. Really makes things look unfinished […]

One post &#038; omit category (s) in WordPress

There are a number of different way to do this. I’m sure there are plenty of folks more versed in PHP programming than I out there that could give you seven ways from Sunday  to accomplish this. I’m a designer, not a programmer.  Here’s my WordPress solution. I wanted my latest blog post to show […]

New Bike Stoke

I’m having a one of a kind, Justin W. Hall bike made. My old single speed gave up the ghost a number of months ago and it’s been a bit of a bummer not having it around. Being back on the squish of the full suspension bike with some added gears has been fun and […]

Firefox 4.0 Beta (4.0b10) Review

That’s 4.0 beta 10 to be exact. Mozzilla has been steadily  releasing beta versions of their very popular (and now highly anticipated) Firefox browser. Fitting the stereotype of a tech geek, I had to see what all the fuss was about. I do have to admit, while I have had a version of Firefox in […]

Conditional Backgrounds in WordPress

Here’s the situation. You’re developing a WordPress theme. Maybe you’ve started with one of the tens of thousands of free templates available on the web or maybe you’ve started with one of the few bare bones themes like Starkers (my favorite because I hate dealing with other peoples code). You can find a great list […]