Five confusing things about WordPress terminology

David Nash wordpress Leave a Comment

1. WordPress Designer vs WordPress Developer A designer generally creates how the site looks, a developer takes the design and turns it into the final website. There’s overlap – many designers can write code, and many developers can design. It’s very rare to find someone who’s good at both. I’m good at taking an existing design and extending it, but it takes me a lot of time to come up with an original design from scratch. 2. Pages vs Posts Pages are what make up the core of your site – the front page, the about page, the contact page for …

Why you should use WordPress for your business (or your Justin Bieber blog)

David Nash wordpress Leave a Comment

The answer to this is also the answer to why I am a WordPress developer. And the most important answer is either genius or idiotic: market share. W3Tech collects statistics on CMS market share. According to W3Tech WordPress currently has 58.6% of the market share of CMSs. The next most popular CMS is Joomla, at 6.6%. It only goes lower from there. WordPress.com also has some nice graphs. And some astounding figures – 409 million people view more than 20.4 billion pages… EACH MONTH. Why is market share important? Because WordPress is an open-source technology, anyone can view the code and anyone can contribute. …

Website refresh

David Nash wordpress Leave a Comment

Yes, it was well overdue. I got so busy with work that I started to forget about my own site, which I put together pretty quickly in the first place. I finally found the time and energy to revamp it. Now that it’s here, I wonder why I didn’t do it earlier. I couldn’t be more pleased. I feel like I finally have a site that not only presents me well, but is also a good demonstration of how my skills as a humble Sydney WordPress developer have progressed. One thing is missing though – updated content for my badly neglected …

Generate WordPress Shortcodes

David Nash wordpress Leave a Comment

I just discovered this and will definitely be using it as a way to make content editing a little easier for clients: Generate WordPress Shortcode Fill out the fields and it generates PHP that you can paste into your theme’s functions.php file. It then gives a WordPress author an easy way to add special code to the content – on the current project I’m using it to make it easy to insert a variety of download links with different icons into the content using just a shortcode.

WordPress search form snippet

David Nash wordpress Leave a Comment

This is code to use for a search form, for example in the header area of a WordPress theme. It retains the previous search query in the text field. [html] <form action="<?php echo home_url(‘/’); ?>"> <input type="text" name="s" value="<?php the_search_query(); ?/>" /> <button type="submit">Search</button> </form> [/html]

How to create a select element option (drop-down) menu in the WordPress Theme Customizer

David Nash css, php, wordpress 2 Comments

I’m working on a project that requires the same basic theme for two companies that are both under the same group. The only real difference is the logo and theme colours. Instead of creating two separate themes and having to maintain them separately I used WordPress “customize_register” action in the theme’s functions.php. The official docs are here and very long and confusing. https://codex.wordpress.org/Theme_Customization_API WordPress provides some basic types like a text field, image upload and colour picker, but no select menu: https://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_control Here’s the code I’m using to create a select element with two options (in the theme’s functions.php file): …

How to make WordPress more like a CMS

David Nash wordpress Leave a Comment

WordPress is wonderful for its core functionality – blogging. And it’s pretty good for other stuff too, but sometimes it takes a little shoe-horning to get it working like a real CMS. I recently used the Advanced Custom Fields plugin and it’s excellent. As a developer I can set up fields that only apply to specific pages, and then use those fields in the themes I develop. My clients then have a simple, easy to use interface for entering single lines of text, or selecting images, or… basically anything you can think of. To make it really powerful, you need …

Why I love anonymous functions in PHP 5.3+ for WordPress functions.php

David Nash php, wordpress Leave a Comment

From PHP 5.3, we can now use anonymous functions. If you write jQuery javascript, you probably use these all the time, even if you’re not aware of it: [js] jQuery(document).ready(function($) { //… }); [/js] Here we’re calling the ready function and passing it an anonymous function. We could also do: [js] function do_stuff() { //… } jQuery(document).ready(do_stuff); [/js] (Let’s ignore the “$” for now). It’s the same with PHP. We don’t have to name functions – they can be anonymous. Why do I love it for WordPress? Adding actions and filters always seemed so clunky. We write a do_my_thing() function …

WordPress: show sticky posts, then show all other posts in one loop

David Nash php, wordpress 1 Comment

This is something that’s driven me a little insane for a while. WordPress posts can be marked “sticky”, which is awesome. But if you’re not using it on the home page it just doesn’t work. In the past I’ve given up and resorted to doing two “The Loop”s, one with just stickies and one without. But there’s an easier way. In your themes functions.php, do this: add_filter(‘the_posts’, function ($posts) { $stickies = array(); foreach($posts as $i => $post) { if(is_sticky($post->ID)) { $stickies[] = $post; unset($posts[$i]); } } return array_merge($stickies, $posts); }); There’s nothing else to chage – the filter just …

Use curl and PHP Simple HTML DOM Parser to inject WordPress into another page

David Nash css, html, php, wordpress 3 Comments

I was recently asked to create a WordPress theme that would run on its own server but be integrated into a larger e-commerce site that was running in a separate CMS. The headers and footers for the site change frequently and the WordPress theme needed to insert itself between the two. The basic outline to tackle this problem is: Create a template in the CMS with an empty content area, and set up eg /blog so that instead of using the CMS it  loads content from the WordPress server. Create a WordPress theme that uses the built-in curl library to read …