We talked about
Retina-Ready WordPress at our Feb. 19, 2015 meetup. Below are the notes.
Steve Day presenting on Retina-Ready WordPress High Density Images
Jetpack Photon and WP Retina 2x
Chad Warner What it is
CDN for images
Runs on WordPress.com infrastructure
How it works
“[W]e just grab the best version that we can find, and manipulate that single source image for whatever size, crop, or filter happens to be requested at the time. That lets us do cool things, like upscaling for Retina displays, as well.”
George Stephanis, Jetpack dev “There’s a script we load with photon that will detect if your user is on a Retina display, and then swap out images for the higher-resolution versions.”
George Stephanis, Jetpack dev Photon filters content but doesn’t change the info in the database.
Photon currently only acts on images in posts and pages, as well as featured images (post thumbnails). Also works for CPTs.
Photon will apply to old posts and new ones alike and can be turned on or off easily.
Photon looks at the img element’s width and height attributes and then serves an image resized to those dimensions or to the width of the containing element (whichever is smaller).
How to use
Enable the Photon module in your Jetpack settings.
Tutorial Creates the image files required by Retina (High DPI) devices and displays them to your visitors accordingly.
Supports 4 different methods to serve the images to your visitors.
How to use
Make a full backup (in case images are damaged)
Settings > Retina
Disabled Sizes: select those that are not used by theme (often thumbnail, possibly unused theme-specific sizes)
Enable Auto Generate
Media > Retina > Generate
Generates single favicon.ico containing 64×64, 32×32, 24×24, and 16×16 px favicon.
We talked about
Building Web Apps with WordPress at our Jan 15, 2015 meetup. Below are the notes.
WordPress as a Web App
Custom post types
Custom meta: post meta, user meta, comment meta
User roles & restrictions
Post relationships (via
Posts 2 Posts) Methods
pre_get_posts: can be more specific than above
$wpdb: can be even more specific than above AJAX: save users time and reduce server load
zapier.com: like IFTTT, but with more options
AppPresser.com: Convert your WordPress website into a mobile app, publish on the app stores
WP-API (coming soon): Access your WordPress site’s data through an easy-to-use HTTP REST API Misc.
Ask: who is your core audience? What are they trying to do with the data? Answers help with information architecture.
BadgeOS: free plugin that lets you easily create achievements and issue sharable badges as your users succeed Why start with WordPress? You can build very quickly because of the tools available in WordPress.
transients, Varnish, memcached Using WordPress to Power an Application: How we built a rewards platform in just a few weeks
Choose Your Features
Plan Your Development
Create Your Plugin
We’ve started planning WordCamp Grand Rapids 2015! We’ll have our first volunteer meeting after the next meetup (Feb 19). You’re welcome to join us!
We talked about
Development Environments and Version Control at our Dec 18, 2014 meetup. We talked about ServerPress, Git, and developing locally. Below are the notes. DesktopServer
Gregg Franklin gave a demo of
DesktopServer, a local server package which runs on Mac and Windows. He showed how to create and manage local development sites. He also showed how to deploy local sites to servers. Here’s a video of Gregg’s demo: Git and developing locally
Brian Richards spoke about Git and developing locally. Here’s his presentation. Below it are notes from the talk. Advice
You should develop locally so you can test locally, not on live site.
You should use Git even if you work solo, because of version control.
Commit messages should be short but descriptive.
Commits should be atomic: change one thing at a time.
Git stores only the changes that have been made; SVN duplicates files.
Brian doesn’t use WordPress as submodule; has run into issues. Checks in root and everything inside it, except wp-uploads.
Brian doesn’t store database in Git.
Always check out changes before you make your commit.
Git: version control system
Dploy.io: deploy from GitHub, Bitbucket or your own repositories to one or many servers in one click
SourceTree: Git GUI
Github: Git host
Beanstalk: Git host
Bitbucket: Git host
gitignore.io: Create useful .gitignore files for your project
WP Migrate DB Pro: Copy your database from one WordPress install to another with one click in your dashboard
Dictator: a package built on top of wp-cli that allows you to export configuration files straight from the command line
Git troubleshooting flowchart
Sequel Pro: a fast, easy-to-use Mac database management application for working with MySQL databases.
WP-CLI: a set of command-line tools for managing WordPress installations Announcements
We talked about
backing up WordPress sites at our Oct 16, 2014 meetup. We covered a few backup plugins and management services. Below are the notes.
Chad Warner speaking to WordPress Grand Rapids
Peter DeHaan speaking to WordPress Grand Rapids BackupBuddy & Amazon S3, etc.
Chad Warner BackupBuddy
BackupBuddy is a premium plugin. Instructions:
How to use BackupBuddy with Amazon S3.
BackWPup is a free backup plugin. These instructions are several months old, and may not be 100% accurate.
Amazon IAM user and add to BackupBuddy group. Create S3 bucket named ow-
uncheck Show BackWPup links in admin bar.
clear Key to start jobs externally with an URL
Add New Job
Job Name: Database, files, uploads (local & offsite)
Tasks: all except WordPress XML export
Destinations: Folder, S3 Service
with WordPress cron
basic, weekly, Monday (or daily or monthly)
DB Backup: exclude unnecessary
exclude unnecessary root, plugins, themes, cache
File Deletion: 6
To: S3 Service
Access Key and Secret Key: generate for user in Amazon IAM
Bucket: select bucket for this site
File Deletion: 6
Duplicator is a free plugin. Instructions (may be outdated):
Copy and migrate WordPress sites with the Duplicator plugin Backup Services
Online Backup for WordPress
Online Backup for WordPress is a free plugin
WordPress Management Tools & Hosting
TinyPint uses for backups
manual, not automatic; run backup, save to machine
downloads zip of files and database
can download entire site (files and database) or just database
can exclude files
add site to WP Remote
enter API key
in WP Remote, refresh
can run security check of site
many more options than WP Remote
can show WP admin screen within iframe
can back up database only or files and database
can exclude files or folders
can backup to multiple destinations, including Amazon S3, Dropbox, Google Drive, FTP
can clone and restore sites
3Hub for accessing Amazon S3
made for agencies who create and manage WordPress sites
free demo sites for 14 days
fast; caching automatically configured
GoDaddy’s hosting with MediaTemple interface
We talked about what we learned at WordCamp Grand Rapids 2014. We took turns sharing specific things we learned and actions we took as a result of WordCamp.
Chad Warner and Topher DeRosia summarized a few points from talks. Others added their thoughts or asked questions. We also had plenty of discussion about other WordPress topics. Below are the notes.
Talk titles below link to slides for the talk. Here are links to all the
WordCamp Grand Rapids 2014 slides.
include basic overview, historical overview, testimonials, success stories
create clear path
align to sitemap
offer clear value proposition: tell what they’ll get
make content personal
Rebecca includes stories about kids in posts
wp_list_pluck: returns a numerically indexed array of values from the specified field
human_time_diff: displays time in human readable format (such as “two days ago”)
make_clickable: turns email addresses and URLs into clickable links
get_extended: get your content, both before and after the more tag
_split_str_by_whitespace: breaks a string into chunks by splitting at whitespace characters
is_email: tells whether something is actually an email address
antispambot: obfuscates an email address
__return_false: returns false
job responsibilities change all the time; find people who aren’t one-trick ponies
find those willing to learn and adapt
must speak excitedly and confidently about their ideas, but must realize that design is about client’s audience, not about them or the client
only you control scope
or say “yes, but it’s going to cost you” (wishlisting)
hire a coach; Ian attributes 90% of his success to his coach
how to find time to work on biz when working in biz?
hire others to free up time
allocate 1 day a month or at least a couple days a month to working on biz
need a new site?
has it been 3-5 years?
is your type hard to read?
do people need to pinch and drag to view on mobile?
is it hard to navigate?
does it look dated?
can’t have a “timeless” site; sites have shelf-life of 3-5 years
don’t buy theme before you have content
people read websites like a billboard at 60 mph
redundancy is your friend
include same CTA in multiple places on page
“almost” flat design: slight shadows and lines to make it clearer what to click, while remaining minimal
Michelle doesn’t like sliders because they don’t convert well
you should have just one important message, not 5
still make sense for gallery (just look at photos, not do anything)
don’t use for CTAs
how do you handle clients who want to make design decisions?
Ask why. Have a productive discussion about better way to accomplish
start with sitemap and wireframe
use hooks and filters when possible, and only child theme templates when you can’t use hooks or filters
have delivery deadlines in agreement with payments scheduled
make sure client can’t drag project out
tell client when they need to provide content and review work
bill regardless of whether they meet their responsibilities
launch regardless of whether they meet their responsibilities
Remember, you can also find us on
Meetup, Twitter ( @wpgrandrapids and #wpgr), and Google Groups.