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 […]
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 […]
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! […]
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 […]
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 + […]
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 […]
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 […]
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 […]
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 […]
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 […]
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’); […]
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 ); […]
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 […]
[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]
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 […]
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: […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]
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 ); […]
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. […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]
Sorry, this post was outdated and has been removed.
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 […]
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 […]
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&feed=XML Feed&optioncount=1&children=0’);?>[/php] Once approved, I copied it over to their live site. Only to be […]
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 […]
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 […]
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 […]
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 […]
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 […]