Today, I’ve attended the UK National WordCamp, which has been hosted by some of my friends from my time at the user group in Sheffield. Myself and my friend Dave drank lots of coffee, jumped in the car with Iron Maiden on the stereo, and popped over for the day.
What on earth are you talking about?
For those of you who don’t know what I’m waffling about, WordPress is basically software for managing a website, most often for running a blog. It’s open source, free software, which anyone can use with no fees. Unlike many online projects, there is a really active community of people who use it.
There’s also an ethos “Code is Poetry“, which is about an appreciation of the beauty and satisfaction that can come from creating and using good technology. The WordPress team name major releases after jazz musicians, and often release haikus celebrating version updates.
(I actually keep track of all these hiakus on my page “All the WordPress Haikus“…)
So, despite Joen waking me up at 5am, we still left late, and even after we hurriedly dropped off my dog with a friend, and walked/ran down to the Mappin building in Sheffield we were just in time… to completely miss the first talk. However, the second talk was on…
Theme Development Workflow from start to finish
This talk was from Wonderflux framework creator Jonny Allbut (on twitter as @jonnyauk). It was a pretty informative talk with lots of interesting points from his personal experience as a professional WP developer of many years.
Key points I took out:
- I really need to learn how to use Version Control (especially Git).
- Separating non essential-to-theme items out of the functions.php and putting them as seperate plugins can help with future proofing as well as clarity.
The Challenges of managing a Multi-Author Blog
Didn’t write it all down, but some key points were that of encouraging frequent contributions (in their case, by having 7 paid interns!) and developing a culture of regular blogging. Some surprising revelations about authors not being aware that stealing other people’s blog posts from across the internet is not cool…
WPSheffield organiser, Make Do operator and generally well dressed and nice smelling. He was talking about his favourite plugins, alongside lots of irritating internetz speekz [sic].
- Gravity forms
- Contact form 7
- Many of the others have fallen by the wayside somewhat. WP eCommerce is falling out of date
- WP SEO (Yoast)
Jetpack is 20 plugins in one. People seem to either love or hate it.
Buddypress is also a very cool plugin – people forget that it is just a plugin because it does so much stuff.
WP Remote allows awesome management of all your different sites, managing updates, users, etc.
Cool other plugins
- Hammy, is a responsive images plugin that works pretty awesomely.
- Custom Field Suite – a lightweight custom fields plugins. If you want something that is more than a title and a WYSIWYG edit for a post, then this does the magic all for you. Definitely something I’ve been wanting to look for, rather than writing all the code to set up these things mannually.
- Spots – a little text editor that can do tiny bits of magic, for updating little snippets across your site.
- Really Static – generates a whole static site from your blog. Faster than any other cache…! Doesn’t work with things that need AJAX.
- Imsanity is a bulk image resizer that works brilliantly, I already use it, but didn’t realise it could reduce jpeg quality settings too, which saves a lot of space..
- CMS Page Tree View plugin looks like a nice way of making your site pages more navigable in the admin area.
- TablePress is definitely better than copying and pasting tables directly from word, but still not ideal. The best there is currently though…
- Ultimate Coming Soon Plugin – creates a holding page that blocks all views from anyone not logged in.
Following a vast amount of pie and Henderson’s Relish at lunch, and chats with some of the sponsors – pipe (10) – find out more at pipeten.com – it was time for the afternoon sessions. After being told that my live blog has been added to the I decided to be brave and move into the smaller side stream and catch…
A Simpler WordPress Admin for Clients
Step 1: Hiding WordPress Stuff that gets in the way
There are several things that can make WordPress hard work for users. A key way to make things easier is removing unnecessary menu items from the admin menu. For example, removing the “Comments” menu item, or the “Updates” submenu item, or random widgets.
This can be done through the WP core, with tags like remove_submenu_page($menu_slug, $submenu_slug):, and remove_meta_box ($id,$page,$context);.
Step 2: Enhance or improve what WordPress gives you
Mark gives us an example of renaming field titles and changing Meta Boxes to make things more obvious. For example, changing the “Featured image” box on a new Slide post type to be called a “Slide image”.
There’s lots of fun functions to do this, with functions along the line of remove_meta_box(); and, unsurprisingly, add_meta_box();. When adding new meta boxes, you need to use the update_post_meta(); tag to update the correct field in the correct post.
All that theory explained, his advice is to use the Custom-Meta-Boxes code available for include at Github, which does all the hard work for you.
He also showed us how to simply use a function to change login logo through hitting up the login_head hook, and adding new items to admin menu pages, even links to non WP pages or resources, using add_menu_page();.
Step 3: Provide Help
Supporting the client from right within the Dashboard “What happens in terms of help after my site goes live?”, “Can I call you if this goes wrong?”.
You could create a top level Menu called “Help”, adding a list of useful articles, or links to informational videos. You can also use the WP-Help plugin…
Improving frontend performance in WordPress
Have you read the article “Responsive Web Design” was step one. Ian has sold his sold at the altar of responsive web design, and asks: “Have you embraced RWD methodologies into your heart?” How many of us are building all our sites responsive? A show of hands showed about 50% of us are.
A responsive design isn’t limited to layout changes
WordPress has responded well to RWD, with Twenty 12, Twenty 14 all fully responsive. Website performance is an essential part of modern UX, which WP is not so hot on. Using Google Page Speed Insights, WordPress installed on Twenty 14, scores 60/100, decreasing year on year.
- Amazon’s stats show that adding 100ms = -1% sales loss. He also showed us his Wishlist, with 55 gallons of water based lubricant a key item.
- Etsy stats show +160k to a page = +12% bounce rate on mobile.
- Google have said that speed is going to be linked to their rankings.
Ian fears that WordPress is falling behind in performance terms. Lots of the work in this is best sorted in the front end. How to solve problems:
Step 1 – Admit you have a problem.
Step 2 – Use the Chrome web developer tools. Some pretty cool tips from Ian on how to use these.
- Limit the number of DNS requests. They are expensive – regardless of your bandwidth, they tend to be expensive in terms of time (and battery life on mobile).
- Limit the size of those requests.
- G-Zip, files compressed, so less data sent. Can be set up with .htaccess tricks.
- Encourage caching
- Minify files for css/jss by removing whitespace.
- Concatenation can reduce number of requests.
- Sprites can reduce requests by combining images.
- Performance led design and client education.
His final point is that there is a lot we can do to improve WordPress performance, but there is still a more that can be done to Core. For example, why can’t wp-enqueue_style() automatically concatenate and minify files?
Hitchikers Guide to Custom Post Types
Jenny Wong (@miss_jwo) speaking on the fact that Custom Post Types (or CPT) is what turned WordPress from a Blog Platform to a fully fledged Content Management System.
- Hides content from the default query.
- Management of content is easier.
- Improved user interface & usability.
- Ability to use custom templates.
- Performance issue with querying a large table.
- If content doesn’t easily fit a post type, could potentially cause problems.
Best place to set up custom post types?
- In the functions.php of the theme – theme can be deactivated, post types disappear, or if clients use Christmas theme, CPTs will disappear.
- As a plugin – but then users can accidentally deactivate or delete the plugin.
- An an mu-plugin – “Must Use” plugins can’t be deleted or deactivated without file access.
My friend Dave says “Hi!”