WordPress Genius Guide Volume 2
WordPress Genius Guide Volume 2
Become a
WordPress
guru!
Welcome to
WORDPRESS
WordPress is one of the most advanced content management systems on the
planet. Not only does it offer simple ways to maintain your website, but endless
customisation options mean you can add plugins and widgets to fantastic pre-built
themes. Whats more, with WordPress you dont have to stick to what they give you,
its possible to buld your very own theme framework and this book will walk you
through how. Inside you will find in-depth guides to essential settings,
recommended themes and plugins, and loads of tutorials for personalising your
blog or site. WordPress is a treasure trove of goodies and its amazing what you can
achieve with the assistance of CSS, HTML and Photoshop. This newly revised edition
will help you build on your existing knowledge, so you can become a true
WordPress genius.
WordPress Imagine Publishing Ltd
Richmond House
33 Richmond Hill
Bournemouth
Dorset BH2 6EZ
+44 (0) 1202 586200
Website: www.imagine-publishing.co.uk
Twitter: @Books_Imagine
Facebook: www.facebook.com/ImagineBookazines
Publishing Director
Aaron Asadi
Head of Design
Ross Andrews
Production Editor
Fiona Hudson
Art Editor
Alison Innes
Printed by
William Gibbons, 26 Planetary Road, Willenhall, West Midlands, WV13 3XT
Distributed in the UK, Eire & the Rest of the World by:
Marketforce, 5 Churchill Place, Canary Wharf, London, E14 5HU
Tel 0203 787 9060 www.marketforce.co.uk
Distributed in Australia by
Network Services (a division of Bauer Media Group), Level 21 Civic Tower, 66-68 Goulburn Street,
Sydney, New South Wales 2000, Australia Tel +61 2 8667 5288
Disclaimer
The publisher cannot accept responsibility for any unsolicited material lost or damaged in the
post. All text and layout is the copyright of Imagine Publishing Ltd. Nothing in this bookazine may
be reproduced in whole or part without the written permission of the publisher. All copyrights are
recognised and used specifically for the purpose of criticism and review. Although the bookazine has
endeavoured to ensure all information is correct at time of print, prices and availability may change.
This bookazine is fully independent and not affiliated in any way with the companies mentioned herein.
WordPress Genius Guide Volume 2 Revised Edition 2015 Imagine Publishing Ltd
ISBN 9781785461491
Part of the
bookazine series
Contents
Everything you need to
become a WordPress PAGE
master and expand the 16
functionality of your blog
Master
the new
update
Page 8
PAGE
82
GETTING STARTED
24 The Settings 46 Control user profiles 82 Convert a static site with a
30 Use widgets in WordPress 48 Back up your WP blog child theme
31 Get to grips with plugins 50 Secure your WP site 86 Create a mobile-friendly site
32 Manage WordPress 90 Transform HTML to WP
Comments THEMES PLUGINS
34 Posting WordPress content 56 The 20 best WordPress
36 Mastering the Media Library themes 100 Pro guide to plugins
38 Getting hosted with WP 66 Create your own theme 106 Edit widgets and plugins
42 Set up a host 74 Build a responsive 110 Protect your blog from spam
44 Manage your different WordPress theme 114 Increase site visits with SEO
domains 78 Customise a WP theme 118 Add a social author box
66 WordPress
Mac OS X Genius Guide
WordPress
Genius Guide
PAGE
168
PAGE PAGE
110 142
120 Build a WordPress slideshow 144 Make an animated off-screen
124 Schedule your blog posts 3D menu
148 Master animated pop-up
effects
CUSTOMISATION 150 Create a rotating product
128 Add multiple moving viewer
backgrounds
130 Create an animated logo
with CSS3
BEYOND WORDPRESS
154 Master Google Analytics
134 Blur and focus your text
with Font Font 160 Speed up WordPress
136 Build circular on-hover 164 Code an input form in 3D
navigation with CSS
148 Create animated buttons 168 Design layered backgrounds
with CSS3 in Photoshop
142 Code a fixed image scroll- 172 Create an eCommerce web
over effect element with CSS3
77
Master the new update
Master
the new
update
WORDPRESS HAS UNDERGONE ONE OF ITS MOST
SIGNIFICANT UPDATES, BUT IS IT REALLY ALL THAT
DIFFERENT? WHATS REALLY NEW IN VERSION 4.3?
WORDPRESS 4.3 IS out now, WordPress experience. Enhancements to
and includes a selection of new managing images and videos help us
features and security fixes to save time with previews, while browsing
help bring your blog or website for new plugins has become a far better
right up to date. experience, allowing you to see small
A host of new features are available in previews in advance.
WordPress 4.3, from improvements to In the background, various
the Theme Customizer view and Media security fixes have been implemented,
Library interface to enhanced media ensuring that your blog, your posts and
handling in the Visual Posting view and a any user data such as email addresses is
brand new interface for installing plugins. protected against online intruders.
Youll also find some changes to the Iit is important to make sure your blog
TinyMCE UI when creating a new post is up to date. This means reviewing
and it is now possible to select a plugins regularly as well as making a
language when you install WordPress for backup before you upgrade. If youve
the first time. been holding off on recent updates, you
These improvements all work together shouldnt miss the most recent iteration
to deliver an updated, polished of WordPress version 4.3.
Updates Customize Your Site Welcome panel Quick Draft Screen options
Update alerts will help you Use the site customizer to The Welcome panel Employ the Quick Draft Use the screen
to keep your blog secure get a preview of how your introduces you to WordPress panel to add new blog options to tailor each
and protected against blog will look with a new v.4. This is useful whether posts in a stripped-down screen in WordPress
online threats as well background colour or with youre new to the software or form, without any to your particular
improve functionality widgets added an experienced user pressure to publish workflow requirements
Change view
Use the Plugins view
menu to switch between
Featured, Popular and
Favourite plugins
Upload a plugin
If youve developed your
own plugin or have one to
upload, use the Upload
Plugin button to start
Search
To find plugins that arent
listed here, use the Search
box to search the
WordPress plugins
repository to find it
Plugin details
Full details about the
plugin youre considering
can be viewed by clicking
More Details
Add new
The new Add Plugins
screen summarises the
information you need about
each plugin
Top tip
When checking new
Previewing widgets
GET THE BEST PREVIEW OF YOUR THEME YET WITH WIDGETS!
WORDPRESS V.4 FEATURES a few improvements to the Theme Customizer, which can be accessed in
Appearance>Customize. Where once this was limited to changing colours and site title, it is now a far more
powerful tool that can demonstrate the impact of any installed widgets on your chosen blog theme (as long as it is 01: Customize your blog
compatible with live widget previews) before you have installed it. Access the Theme Customizer via
Appearance>Customize. Click Widgets to view
The advantage of this is clear. Whereupon once you would have added a widget, saved it and then quickly
available widgets for your blog theme sidebars.
refreshed your blog probably in a new browser tab to see how it looked (and whether or not it broke your blog
layout!) now you can get a full preview in the Theme Customizer before rolling out the changes to your readers.
We think that this is one of the most important new developments in WordPress v.4, and once youve tried it out
were certain you will agree!
Tick it to activate it
To enable a control, place a tick in the
corresponding box. Removing the tick will
hide the control
TinyMCE editor
Maximise the space you have to compose
your posts by using this option to expand the
TinyMCE editors dimensions
Amount of columns
Too many columns? Use the Number of
Columns option to restyle the layout
Click it to close it
Click the Screen Options button to close the
window, and carrying on blogging!
Toggling tools
Even controls with their own tool for closing
can be toggled off and on
Tailor menus
These controls are tailored to the
Dashboard screen
Different screens
Different WordPress admin screens feature a
different set of options
UNLEASH THE FULL POTENTIAL OF WORDPRESS WITH CUSTOM POST TYPES, TAXONOMIES AND PLUGINS
WORDPRESS, THE WORLDS largest CMS, taxonomies. These are two of the sharpest tools for tweak them to be more tailored for your needs by
is powerful right out of the box. For simpler WordPress developers when they are looking to build creating your own custom post types. You can even
sites you can probably make do with its more complex sites where there are several different unregister the standard posts and pages and replace
posts and their categories and tags, and its types of content and there is a need for more advanced them with custom post types that better fit your needs
pages for more static content. Whatever you might levels of categorisation. if you wish.
need beyond that can often be solved by a plugin. To understand what custom post types are, all you The same goes for custom taxonomies. The default
But if you want to take your WordPress site further really need to know is that the posts and pages, which categories and tags are in fact taxonomies and you
and utilise the platforms true CMS capabilities, you will WordPress supports by default, are in fact two post can create your own. This opens the door to a ton of
probably want custom post types and/or custom types. You can recreate them with new names and possibilities, as you will soon see.
Using a plugin
If you dont want to get down
and dirty with the code, there
are plugins thatll create
<above> The Book custom post type from http://tdh.me, as seen in the admin interface custom post types for you
There is a WordPress plugin for just about
everything now and creating custom post types
Create custom post types isnt any different. The thing youll have to
remember is that these plugins create the post
type for you, which means they register it with the
CUSTOM POST TYPES UNLOCK THE TRUE CMS POTENTIAL IN WORDPRESS AND IN parameters (name, permalink structure, support,
JUST A LITTLE WHILE, SO WILL YOU and so forth) youve chosen, which lets you
manage them in the admin interface. What the
What are they? Why you should use them plugins wont do is give your theme the necessary
Custom post types are anything you want, Whats the point of using custom post types functionality to display the custom post types.
basically. Technically, its a little more and should you really extend beyond the Granted, most themes will be able to display the
complicated than that default posts and pages at all? posts using the default templates, but you
probably had more in mind for your custom post
As weve already established, custom post types are the The default posts and pages post types are more than types. The point is, you will still need to create the
same as the default posts and pages that the standard enough for most sites. Youve got your news sections necessary theme template files for your custom
WordPress install comes shipped with. Posts have their and blogs and whatnot as posts, while your static post types and custom taxonomies for that
own set of rules, like being able to be associated with information, the About section for example, is a page. matter if you want them to be any different to
categories and tags. Pages, on the other hand, dont Add menu functionality (again, a post type) and media the themes defaults.
support categories and tags but they have other rules uploads (attachment post type) and youve got One of the better plugins for creating custom
like being capable of a hierarchical structure where everything most sites need. post types is Custom Post Type UI. Its been
one page is organised below another, and so on. When you want or need to step beyond that though, around for a long time and has a good reputation
Despite these differences, both posts and pages are youll want to create custom post types. This could be and it even supports creating custom
post types. Those are not the only post types that something as simple as a custom post type for your taxonomies, despite its name. That means that
WordPress comes with though; there are also books, or the groundworks of a complicated site you can create both custom post types and
attachments (media uploads), revision (post revisions) structure with so many types of content that youll want custom taxonomies with this one plugin, giving
and nav_menu_item (used for media items). In total, to separate them from each other. It might even be for you a head start if you prefer to do as much as
WordPress ships with five post types. creating hidden search indexes (something we wont possible in the admin interface.
When creating a custom post type, you are usually delve deeper into here as its advanced stuff most
adding another one, although you can both alter and people wont have to worry about) ticking in the
remove existing post types. This means that you could, background, or its content meant to go into widgets for
if you wanted to, add a custom post type that shares all more flexibility. The possibilities are, as they say, endless. It could be as
the features of the default WordPress page post type You should use custom post types to simplify and
but includes support for categories as well. What a organise things. However, that doesnt mean that its simple as a custom
custom post type actually supports is something you appropriate to use them everywhere and all the time. It
decide. You can even hide a custom post type from might be tempting to have one custom post type for post type for your
view altogether if you want, not even showing it in the News, another for Reports, and a third one for
admin interface, if thats what you need. Interviews but this is generally a bad idea. Dont books, or the
The custom post types you create have the freedom recreate sections that could just as well be categories
grounds of a complex
of being exactly what you want, stored as a specific (the section) and posts with custom post types, as
post type in the database just like with your posts thats making things more complicated than necessary
and pages. for yourself. site structure
WordPress Genius Guide 17
Supercharge WordPress
Code Library
Custom post types
Obviously there are a lot of settings and alternatives when it comes to creating a custom
post type, so in this code snippet weve kept things reasonable. The code works in a
Adding a separate
selection in the
admin interface
themes functions.php, but should be in a compatibility plugin
might be more
// Register Custom Post Type//
manageable than
001 function custom_post_type() {
having an overload
002 $labels = array( All the code for creating a
003
004
name
singular_name
=> Movies,
=> Movies,
custom post type (or several)
should go in a function. At
the end well add that
of categories
005 menu_name => Movies, cfunction to the init action with
006 parent_item_colon => Parent Movies:, add_action() Where to use them
007 all_items => All Movies, With the power of the custom post type
008 view_item => View Movie, unlocked, its hard to imagine not using them
009 add_new_item => Add New Movie, everywhere, right?
010 add_new => Add New,
011 edit_item => Edit Movie, Custom post types are great. So great in fact, that its
012 update_item => Update Movie, easy to start using them too much; while custom post
013 search_items => Search Movies, types are great, they come with a few caveats. One of
014 not_found => Not found, the first things you need to remember is that adding
015 not_found_in_trash => Not found in Trash, more options in the WordPress admin interface might
016 ); not be a good thing. Less technical users will be
017 $rewrite = array( The array for supports daunted by more things to manage, if thats the overall
018 slug => movie, contains information about
what sort of elements the feeling of making additions. On the other hand, adding
019 with_front => true, post type should support. In a separate selection in the admin interface might be
020 pages => true, this case its the post title field,
more manageable than having an overload of
021 feeds => true, the editor, the excerpt,
choosing an author, and categories to consider when working with content. As
022 ); featured images always, theres a thin line as to what is reasonable and
023 $args = array( whats not.
024 label => movies, Custom post types really shine on content that
025 description => Movies, differs a lot from the traditional posts and pages.
026 labels => $labels, Product directories are an obvious choice, because
027 supports => array( title, here youll not only want to separate the products (ie
028 editor, excerpt, author, thumbnail, ), product post type posts) from the regular post flow of,
029 taxonomies => array say, a news section. Its also likely that your product
030 ( post_tag, actor ), posts will need more boxes and settings than most
031 hierarchical => false,
032 public => true,
033 show_ui => true,
034
035
show_in_menu
show_in_nav_menus
=> true,
=> true,
Theme template
036
037
show_in_admin_bar
menu_position
=> true,
=> 5,
files for custom
038
039
menu_icon
can_export
=> ,
=> true, post types
040 has_archive => true, Custom post types will use your themes
All the details are collected
041 exclude_from_search => false, in $args, including $labels template files if possible, just like any other post
042 publicly_queryable => true, and $rewrite, which youll find type. These are the ones youll probably be most
043 rewrite => $rewrite, in the $args array as well.
These, along with the post type interested in:
044 capability_type => page, name, are passed to
045 ); register_post_type() Archive template: archive-X.php, where
046 register_post_type( movies, $args ); X is the name of the custom post type.
047 }
Single template: single-X.php, where X is
// Hook into the init action the name of the custom post type.
add_action( init, custom_post_type, 0 );
WordPress ships with a set of post types and also Categories are among the most powerful tools in the
has two taxonomies per default. Both categories and WordPress arsenal. Most sites can manage with just
tags are taxonomies, albeit working a bit differently. posts and pages (and attachments, obviously) and
You can see that when using the admin interface. categories. With categories, you can easily create
Categories are a set of checkboxes where you sections on your site, consisting of a flow of posts.
<above> The purpose of the Book post type is to give the choose one or several, and they can also be Thats what taxonomies do best: they bring order to
books their own part of the site, keeping them separate hierarchical, which is to say that a category can your content.
from posts and pages have another category as its parent. Tags arent like Creating additional taxonomies gives you
other post types; you dont want to litter your posts and that at all; theyre not hierarchical and therefore have additional order, at least if you think things through
pages with boxes pertaining to size and shipping and no relationship to each other. In the admin and dont overdo it with a taxonomy for
weight and costs and whatever it else it is you need to interface that means that the tag box is free text, everything. That said, some content might need
describe and work with a product in such a site. which often means that the tags will be a little bit more some sort of sorting, be it category- or tag-like, but
On http://tdh.me, theres a custom post type for chaotic and less ordered than the categories due to it shouldnt be mixed with the standard posts.
books, for exactly the same reason as stated above. user behaviour. Thats when you create a custom taxonomy and
These are the times where custom post types really A taxonomy has terms associated to it. This means thats where they shine. There are obviously other
work: when you need a different set of content, that a category, in the category taxonomy, is a term. A times when custom taxonomies hold their own as
whether its in the interests of being user friendly in tag in the tag taxonomy is also a term. When you create well, such as plugins registering hidden taxonomy
terms of the need for a lot of boxes and settings, or your own custom taxonomy, the items within it will also terms and such, but thats a bit out of the scope of
because the content just doesnt belong with the be terms. this article.
regular flows of posts. There is actually a third taxonomy shipping Much like categories and tags, custom
Obviously there are so many other uses for custom with WordPress, being the Post Format taxonomy. taxonomies can have their own archives. This is
post types as well. Sliders, if you have to have them, fit This one has special rules, such as that its not really useful, because it means that youre not
perfectly. Just use a post in a custom post type for each meant to be extended (but obviously you can just limited to sorting content by itself, but you can
item in the slider, cut everything not needed for the do that), and youre only allowed to choose one also make the archives stand out if you like. In
slider posts content, and youll have something thats of the defined terms (Quote, Image, Standard, fact, much like categories can be used to
easy to manage for the users. Posts wouldnt do at all and so forth) for your post. You shouldnt worry create sections on a site, you could do the same
here because obviously you dont want slider posts to (or possibly mess with) the Post Format with your custom taxonomies, bringing further
show up in search results, so thats another strength of taxonomy, but its good to know what the feature order to the user experience as well as the
custom post types thats worth remembering. actually is. administrative one.
Code Library
Custom taxonomy
// Register Custom Taxonomy
function custom_taxonomy() {
Template files for custom taxonomies Moore is an actor (the term Roger Moore in the
actors taxonomy).
If you want additional control over your custom taxonomies, youll need to add the The way you can get archives and therefore
appropriate template files to your theme, otherwise theyll just revert to the default ones. useful sections on your site from taxonomies makes
These are the template files that youll probably want to consider adding: them a very useful tool. Obviously its also data you can
query should you need to; for example, by creating a
TAXONOMY ARCHIVE FOR A TAXONOMY ARCHIVE: GENERAL TAXONOMY ARCHIVE: page template detailing all the James Bond movies by
SPECIFIC TAXONOMY: TAXONOMY-X.PHP, WHERE X TAXONOMY.PHP, WHICH WILL BE
actor. Youd have to write a separate WordPress query,
TAXONOMY-X-Y.PHP, WHERE IS THE NAME OF THE USED FOR ALL TAXONOMIES.
X IS THE NAME OF THE CUSTOM CUSTOM TAXONOMY. using WP_Query, for that page template, but since the
TAXONOMY, AND Y IS THE data is there as terms in various taxonomies its not
TERM SLUG. such a big step.
Useful plugins THERE ARE OBVIOUSLY A LOT OF PLUGINS RELATED TO CUSTOM POST TYPES AND
CUSTOM TAXONOMIES IN SOME FASHION OR ANOTHER HERE ARE SOME TOP PICKS
THAT MIGHT HELP YOU DECIDE WHICH TO USE
Post Type Switcher Term Management Tools Types - Custom Fields and
wordpress.org/plugins/post- wordpress.org/plugins/term-management- Custom Post Types
type-switcher tools Management
Post Type Switcher is an excellent plugin that comes in Term Management Tools is one of those plugins that is bit.ly/1h4ILt0
handy when you need to reorganise your posts a bit. just plain awesome. It not only lets you change terms Types is one of those everything-and-the-kitchen-sink
Basically, the plugin lets you move one post from one between taxonomies, letting you make categories from plugins you should be wary about using. This ones
post type to another, which means that you can use your tags for example, but it also has the ability to pretty good though; it gives you the tools to manage
Post Type Switcher to transform posts to pages and merge several terms into one. Its very useful and has custom post types, taxonomies and fields. There are
vice versa. It also means that any registered post type the added bonus of being completely compatible with some premium features you can unlock, but the plugin
is available. custom taxonomies. works just fine without paying anything.
32 Manage WordPress
Comments
Start discussions on your blog
34 Posting WordPress
content
Format your posts and get used to editing
42 Set up a host
Get your blog self-hosted easily
The Settings
MASTER THE SETTINGS AND GAIN FULL CONTROL OF YOUR WORDPRESS BLOG
Site title
Once added, your sites
title will appear at the top of Timezone
the browser window, so Ensure your blogs
make sure its memorable timezone city is set
and catchy! correctly to ensure that
post scheduling works.
Some apps also rely on
this being setup
Style Date
How do you want the date to
appear on your blog?
Choose from one of the
available options or select a
custom format
Set E-mail
When you setup WordPress,
your email address is
required for sending plugin Start Date
and moderation updates to. If you plan on using
You can change it by calendar plugins, use the
updating this field Week Starts On drop down
to select the first day of
your week
CONFIGURING YOUR WORDPRESS website correctly is vital to getting should appear on a single page? All of these options, and more, can be managed in
your blog working effectively. Options for discussion, managing media, the Settings menus, which is split into six sections: General, Writing, Reading,
specifying a home page and managing permalinks and much more can Discussion, Media and Permalinks. If you are able to achieve mastery over the
be accessed via the Settings screens. Need to determine how comments settings and their options, you will be halfway there in terms of turning your blog
are displayed, or how avatars appear? Want to specify how many blog entries into a success.
01: Site title details 02: Specify the URL 03: Manage the timezone
Your site must have a title and a tagline. Both are Specify if WordPress is installed in a subfolder on Setting the right timezone for your blog will help
important, but the tagline is particularly vital for your domain in the WordPress Address (URL) field. with scheduling posts and managing plugins. You
ensuring the most basic level of SEO. Site Address (URL) is the URL for readers to use. can configure a Date Format and a Time Format.
Email Post
Category To post by email, ensure
Setting a default post you have entered a mail
category can save a lot of server name, and also
time when writing posts, create a unique email
creating drafts and using address to send your
the Press This bookmarklet posts to
Password
If you have trouble creating a
password for posting by email,
use one of those created at
random by WordPress and
displayed here
01: Formatting emoticons 02: Press This bookmarklet 03: Ping Update Services
If youre a blogger who likes to use emoticons, use Drag this bookmarklet to your browser favourites Get more views for your blog by adding a list of the
the Formatting option to specify whether you bar. When you spot a post you want to link to, click most popular update services to ping. The more
would like WordPress to show graphical smilies. Press This to copy the link into a draft post. you add, the more services will pick-up your posts.
Front page
Whether youre using
WordPress as a blog or as a
content management
system for a static website, Blog count
use Front page displays to How many posts do you
configure as needed want to see on your blogs
front page? You can
configure this setting here,
clicking the arrows to adjust
RSS Feeds
Search RSS/Atom feeds are created
Want to keep your blog automatically each time
private and off the radar? your blog is updated. Use
Tick the Search Engine this counter to determine
Visibility box to discourage how many recent items
Google and other services should be included
indexing your site
Email text
Enter a custom email
message to your readers in
these fields, introducing
your blog and its aims when
someone follows your blog
or posts
Page display
01: Blog page count 02: Feed management 03: Search Engine Visibility
The blog page on your site is set to display ten Syndication feeds (such as RSS/Atom) display ten If you dont want your site to be picked up by
posts by default. Increasing this will provide more feeds, and this can also be increased. Choose search engines, the best way to do this is to select
content for your readers. whether to display the full article or a summary. Discourage search engines from indexing this site.
Discussion Settings
ENCOURAGE DISCUSSION AND BUILD COMMUNITY ON YOUR BLOG, WHILE MINIMISING SPAM
CONFIGURING THE DISCUSSION settings correctly will enable you to make a the Comment author must fill out name and e-mail and Users must be registered
definitive statement about what you expect from your readers, and what they and logged in to comment options to require your readers to take responsibility for
should expect from your blog. their comments. Team these settings with the Akismet plugin and you can virtually
Use the Allow people to post comments on new articles option to accept guarantee your readers zero comment spam when they visit your blog. Show
comments in the first place (individual post settings will override this). Move onto readers you have a spam-free blog and theyll join in with the discussion.
Pingbacks
Sending and receiving
pingbacks with other blogs is
an automated method of Move On
creating reciprocal links. These Keeping old articles live by adding new
defaults can be overridden on comments to them will affect caching
individual posts on your site. Close comments on older
articles to reduce this
Approval
To reduce spam, you
can determine that
comments must be
manually approved.
To save time, force
commenters to
have previously
approved comments Moderation
To help with moderating
comments, specify words,
Use alerts URLs, names, email
You need to know when addresses and even IPs to
comments arrive on your be held for moderation
blog, especially when a
moderation action is
required, so enable these
email alerts
Top tip
Dont restrict your
readers too much from
Reduce spam and readers will be encouraged commenting, lest you
scare them off. Try the
to join in with any discussion you inspire Comment author must
fill out name and
e-mail option.
Moderate and manage comments
01: Using nested comments 02: Comment moderation emails 03: Moderation and Blacklist
Make reading comments easy for readers by using Use the Email me whenever and the Before a The Comment Moderation and Comment Blacklist
nested comments, the method of indenting each comment appears settings to have email alerts fields can be used to filter out comments from
reply to a single comment. sent to you when comments require moderation. spammers and troublesome users.
Media Settings
SPECIFY DIMENSIONS FOR IMAGES ADDED TO YOUR BLOG FOR UNIFORM MEDIA RICHNESS
Resize
The default dimensions for thumbnails
Pixels and featured images can be resized on
How wide and how high your blog from this screen, along with
should your images be? any images you include in posts
These dimensions are
measured in pixels and can
be easily adjusted
Cropping
Rather than having your thumbnail images
appear extremely small, use the cropping
option to have WordPress crop them to show a
segment of the image
Uploading
Specifying which directory
images are uploaded to
should occur during setup.
To change, alter this file
path. You can also specify a
full URL path
Saving
Made changes? Remember
to save them and then check
how the images are sized on
your main blog page,
adjusting anything that
doesnt seem right
GETTING THE IMAGE sizes right on your blog is very important. One Be aware that some themes will override any dimensions you add here, so to
wrong dimension and your layout could struggle to contain the information make sure theyre being applied check the Theme Options page where appropriate.
youre sharing! It is also possible to instruct WordPress to upload images to a specific file path,
Hopefully this wont happen, and certainly shouldnt with WordPress Media but in most cases you wont want to change this.
Settings, where image sizes can be specified to the pixel for thumbnails, medium
and large images. Just input the sizes you want and click Save Changes. You can Image sizes can be specified to the
also decide whether to crop thumbnails or have them resized to the exact
dimensions you selected. pixel for thumbnails
01: Specifying image dimensions 02: Check image sizes 03: Organise your images
Setting a new dimension for your images is easy. You shouldnt just leave it at that, however: open Ensure that the Organize my uploads into month-
Once the width and height have been added, save your blogs front page and check that the image and year-based folders option remains ticked.
changes. Fine-tune by using up and down arrows. sizes have been applied correctly. Disabling can result in problems later.
Permalinks
Select the permalink format
you would like to create
friendly URLs for search
engines and readers to use to
The choice find content on your blog
There are so many
permalink formats to
choose from, making a Other tags
choice should be based If these permalink settings
on how often your blog arent to your liking, a number
is updated of alternatives are available,
with a vast selection of these
listed on WordPress.org
Customised
To use one of the custom
permalink formats, select
Custom Structure and enter
it into the space provided,
taking are to include
necessary spaces
Categories
You can also select a
category-based structure
for your permalinks, by
specifying a Category base
(such as topics) in the
corresponding field
Customise permalinks
01: Which permalink option? 02: Set Custom Structure 03: Category base permalinks
Choosing the correct permalink option depends on You may also consider a custom structure for Tag- and category-based permalinks can also be
your strategy for SEO and promotion. It can also be focusing on employing user- and search engine- established, but this only really works if your blog
based on how regularly your blog is updated. friendly permalinks for your blog entry URLs. has a heavy reliance on categories and limited tags.
Customise
The Editor can be used to Defaults
customise the areas holding The default widgets
your widgets using code. You included in WordPress
can build consistency can be customised in
limited, but useful ways
Sidebar
A sidebar with too many
widgets can look busy and
draw the visitors attention
away from your content
Plugins option
Widgets are available from
the Plugins option. Its not Text widget
obvious, but many are The text widget is a gateway
available to try for you to use your own
code to add something
special to your page
01: A compatible theme 02: Find new widgets 03: Edits and previews 04: Use your code
You need to make sure your theme Widgets are stored in the plugins Go to Appearance / Customise to see The text widget included by default
supports widgets before you start. Go area and can be found by searching a preview of your main page. In the looks quite innocuous, but you can
to Appearance and then select the for widgets. Before selecting any left-hand column you can now use embedding code, Javascript and
Widgets option. The available areas widget, click the Details option and customise each widget and see the HTML to add advanced functionality
for widgets will be displayed then Screenshots to ensure it will fit changes previewed immediately. Its to your sidebar without using a
alongside a list of widgets. your site design. simple and very efficient. specialist widget.
Suspicious plugin
If you suspect a plugin is
causing performance
issues, deactivate it to
test the theory
Edit plugins
You can edit plugins by hand
if you are versed in the art of
PHP coding
01: Limit your plugins 02: Add new plugins 03: Plugin options 04: Edit the plugins
When you first click the Plugins Click Add new to see plugins that are When a new plugin has been Most plugins can be edited by hand
option you will likely see two plugins available and then search for any installed, if there are settings and if you know how to code, simply
already installed. You should activate, relevant term. Before installing any included you will see them in the left click the Edit option for the plugin
or install, Akismet as it deals with plugin tap on the Details option to sidebar at the bottom. The settings in the main list to be taken to the
spam comments, but remember to ensure it is compatible with your are separated from your main .php file for that plugin. You have
not use too many plugins. WordPress version. WordPress installation for stability. complete control.
WordPress
site policy
aggressive to other readers or simply spamming.
TIME REQUIRED Fortunately, WordPress offers a collection of tools
30 minutes
that you can use to deal with bad comments, such as
marking them as spam (in conjunction with the Akismet
Top tip
Allowing the use of
avatars in comments
will allow for you to
identify different users
more easily. Which is
great for being user
friendly as well as
02 Comments page dissected
Youve probably used the comments page
before, but do you really know it? As well as the ability
adding a splash of to switch between All, Pending, Approved, Spam and
colour to the page. Trash views, youll find bulk actions and a filter to
distinguish comments and pings from other blogs.
The left column displays details about the
commenters, their email and IP addresses. The middle
column displays the comment and the date it was left.
<top>
s&WFSZDPNNFOUPOZPVSCMPHDBOCFNBOBHFE
using the menu, enabling you to trash, edit,
mark as spam and much more
<left>
s$PNNFOUTEFUFDUFEBTTQBNCZ"LJTNFU
are collected in a separate page where they
can be reviewed and bulk deleted or restored
if mislabelled
04 Editing
comment
a
Although you may
reasonably consider your
blog a bastion of free
speech, there might be
cause to alter a comment
slightly, perhaps for legal
reasons or to remove a
link if you dont feel that it
is relevant.
This is easily done by
hovering over the
comment with your
Outsourcing comments
05 Identifying commenters
Who is commenting on your blog?
More to the point, who is spamming or trolling
your readers? Use the information on the left,
particularly the email address and IP address to
view any data collected by WordPress about
the commenter.
If you consider a commenter to be trouble,
you can use an IP blocking plugin like Ban User
By IP to prevent them engaging with your blog in 01: Facebook comments
the future. Rather than leave your web server to
handle comments, employ third party
services. Readers who leave feedback
through a Facebook comments plugin
will lure friends with similar interests.
WordPress
TIME REQUIRED keep visitors coming back and it will help improve your
10 minutes clout with the all important search engines. Content
should be formatted in a consistent manner and it
should be obvious as to what the topic is, and
content
WordPress is well placed to help you create attractive
online articles without the need to code every piece of
formatting in each paragraph. You can still use
advanced code when necessary, but we will highlight
some general rules for content creation and also show
UNDERSTAND HOW TO QUICKLY POST PROFESSIONALLY
you some of the more useful features available on the
FORMATTED AND ATTRACTIVE CONTENT, AND HOW TO
WordPress platform. If you remember that content is
SCHEDULE YOUR POSTS IN A LOGICAL ORDER SO THAT YOUR
king, your blog will be much more popular than you
BLOG IS REGULARLY UPDATED
ever expected.
Top tip
With the recent 4.0
update, if youre
writing a long post, the
toolbar, previously
known as the kitchen
sink, will stick to the
top of the window so
you can access it
at all times!
02 Focus on content
The WordPress dashboard can be a busy
place to work in, but clicking the Distraction Free Writing
icon top-right will remove all of the extra tools and let
you work in a much cleaner environment. Your work will
be saved as you continue and it could replace your
standard writing software.
<top>
sTry to format your text and post layouts
in the same way for each article as this
adds consistency to the overall look of
your blog
<left>
sMake time to categorise every post you
write as you are publishing it. This will
make site navigation much easier for
your readers
04 Perfect
previews
You will see a preview
option in the right-hand
column when adding new
posts and you should
always use this before
publishing any content.
When selected it will show
your content exactly how
your readers will see it
and will highlight any
inconsistencies. Dont rely
on just your knowledge
03 Insert Media
Try to use the automated tools to add images to any post.
You will be able to add a description for the image and also more
and assume everything
looks correct.
the Media
Media Library makes the process of managing these files via the
TIME REQUIRED Media Library. Accessible via the latest version 4
10 Minutes Dashboard sidebar, you will find all of the existing
uploads itemised chronologically by default. As you
add more this list can invariably grow fairly large and
Library
THE WORDPRESS MEDIA LIBRARY IS ESSENTIAL FOR MANAGING
the Media Library is therefore essential for
good WordPress housekeeping. Over the next few
steps well guide you through the more important
features of the Media Library, along with deeper
pointers for advanced use. With a focus on uploading,
editing, attaching and detaching media, plus a
YOUR BLOG ASSETS, CHIEFLY IMAGES AND VIDEOS. HERE WE
glimpse at the Add Media facility, you should find
EXAMINE THE LATEST VERSION AND HOW TO PERFORM THE KEY everything required for a quick course in WordPress
ACTIONS, SUCH AS UPLOADING AND EDITING media management!
04 Edit
media
Once files are uploaded,
an Edit link appears below
the upload box. You can
also access the Edit
options from the main
Media Library and this
where you assign
information to the asset.
The fields are the same
for each type and will be
applied by default to that
file when added to a post.
06 Attaching media
Media assets will reside in your library whether you allocate them to
a post or not. To insert them you can use the Add Media button within the
07 Deleting media
Media files within your Library
can be deleted at any time. Hover over
post editor, or use the Attach link within the Media Library to allocate. From the file in the list view and click Delete
here you can select an existing post from the list. This just associates the file. Permanently, or use the same link within
Edit Media. Click OK when prompted to
02: Create Gallery
Here you can make multiple image
confirm and the file will be removed from selections by checking each image you
the Library and any associated post. want in your gallery. Clicking Create
New Gallery lets you drag the images
into a desired order before inserting.
Getting hosted
with WordPress
CHOOSING THE RIGHT WORDPRESS HOST REQUIRES RESEARCH, PATIENCE,
AND A GOOD UNDERSTANDING OF HOW THE PLATFORM WORKS
THE BEST ADVICE we can offer you when choosing a new WordPress need to run your WordPress environment. Pricing is of course important, but even
host is to make sure that you understand what is required to offer a more so is the reputation of a host and the reviews of its customers. If you can find a
reliable and speedy experience for you and your visitors. There are host that offers fast and free support, and is able to give you some help along the
many technical areas that need to be researched to ensure a positive way, you will be half way there. If they have a deep understanding of WordPress and
online experience over time and some of these are not obviously promoted by hosts. the way it works, you should be assured of an experience that is fit for your site
We will cover the most obvious advice and also some areas that are easily visitors and the way you want to run your blog. Its time to see what a good host
overlooked, and hopefully at the end you should have a good idea of what you will should be capable of providing to a WordPress blogger.
bluehost HostGator
www.bluehost.com
$24.99 - $169.99 www.hostgator.com
bluehost is one of the oldest WordPress providers and offers very impressive features,
$7.46 - $56.21
but the price range may be too high for some. Every plan includes dedicated backup There are a variety of low-priced hosting package along with specialist
storage so your data is always safe. The blogger package include 2GB of RAM, 30GB WordPress hosting packages. The WP options come in three varieties, Starter,
of storage and 30GB of backup storage. Business and Pro. All packages offer unlimited email accounts and storage space
and allow for one site on the cheapest package going up to 20 .
TIME REQUIRED
your WordPress
30-45 minutes
YOU HAVE OPTIONS AVAILABLE TO YOU WHEN SETTING UP A NEW WORDPRESS HOST AND WE
WILL EXPLAIN THE BASICS OF MANUAL AND AUTOMATIC INSTALLATIONS
WHEN YOU SIGN up for a host, you should be new site is secure and reliable and also offer some instructions
given all of the tools you need to manage a on what you need to do and the tools you will require. One
WordPress installation. This will include database common mistake is to edit WordPress files using a word
facilities and ftp data to upload large files, but some processor which you should never do. Make sure you use a
hosts will also offer automatic install scripts to make the initial standard text editor and that you do not have any
WordPress setup as efficient as can be. You can choose to capitalisation features enabled in your ftp software. This is due
undertake every step of the process manually using the to certain features of processors that will create havoc with
detailed instructions available from WordPress or you can use any coding in the files, for example, when coding you do not
a script, but no matter what you use there are some areas to want to have smart quotes () in your text rather than straight
look out for. We will cover the main points to ensure that your quotes (").
07 Security is important
You will be asked during the automatic install
process to choose a user name and password. You
08 Remember the details
Once the install has completed, you will be
given the URL to manage your WordPress site with.
09 Check for updates
When the WordPress dashboard is displayed,
you should click the Updates option first. Make sure you
should always change the user name from Admin to Remember this and consider if you want WordPress to are running the latest version to ensure security and
something unique and make the password as long and be installed in a sub-directory or home. Choose a even your plugins can be updated and maintained from
complex as possible. Hackers like to attack WordPress. sub-directory if you will use your space for other tasks. the same screen. Always remember updates.
Manage your
TUTORIAL
OBJECTIVE
Set up a domain name for
your blog
TIME REQUIRED
different domains
15 minutes
IF YOU MANAGE AND SET UP YOUR DOMAINS CORRECTLY, THE REWARD WILL BE A SMOOTHER
AND POTENTIALLY HIGHER AMOUNT OF TRAFFIC COMING TO YOUR BLOG
SETTING UP AND managing a domain for your a setup process, but remember that these can vary depending
WordPress blog is a part of a process that is on who your web host is, and we will also offer advice on areas
crucial to get right and will make a huge that are often forgotten or completely ignored. If you give as
difference to the eventual popularity of your much care and attention to your domain setup and
online presence. The name is important, of course, and management as you do to the design of your site, this will act
demands proper research, and the settings will also ensure as the perfect springboard to create a group of followers who
that popular search engines and anyone else interested can can find and follow you without restriction. Take your time,
see your work without seeing errors. We will take you through understand the details and it will work.
Home directory
Point your domain to
your home directory or
the /wordpress folder
Provider
Check your domain
provider privacy
options or those
available from ICANN
Subdomains
Subdomains help to
break up a big site
and to offer easier
visitor navigation
DNS
The way DNS works
should be understood
to ensure domains
work properly
04 Create a CNAME
In the DNS area of your domain providers
control panel you will need to create a new CNAME
05 Forwarding your domain
Once the CNAME has been created, you will
need to forward your domain which will initially be set
06 Link the host
To complete the setup, go to your web hosts
control panel and make sure you input your domain in
and enter it as instructed by your web host. You will to go to your domain provider. In the main domain the required field in general settings. This is necessary
also need to have an @ record listed with a default IP control panel look for the Forward option and enter to mask the underlying web host address and ensure
address, but the specifics will come from your host. your new domain name into the field. that your domain is always used and remembered.
07 Create a subdomain
Under your domain name in the main control
panel you should see an option to create a subdomain.
08 Domain privacy
Remember that your personal details will be
added to your domain registration (with good reason).
09 Understand your rights
When you purchase and run a domain you
should make yourself fully aware of your rights and
These can be used for major parts of your website and Most domain providers, however, will offer a privacy responsibilities. Go to www.icann.org to read about
will be placed before your main domain name. Follow package which you should investigate if you are privacy services and understand every technical term to
the instructions to add it and wait for activation. concerned about publishing your details online. ensure you are using your domain correctly.
<above>
sThe Dashboard includes a dedicated
section where users can be added,
managed and deleted as required. Youll
find it within the Users tab
<left>
sWith the right permissions your invited
users can create, upload and edit their
own posts. You can retain full control
over what content is published
TUTORIAL
OBJECTIVE
Learn how to set up
new users with suitable
permissions to work on
Control your
user profiles
your blog.
TIME REQUIRED
5 minutes
WORDPRESS CAN CATER FOR LARGER PROJECTS REQUIRING MULTIPLE USERS TO CREATE AND
UPLOAD CONTENT. AS AN ADMINISTRATOR YOU CAN SET UP VARYING LEVELS OF ACCESS
ITS NOT UNUSUAL to find that some WordPress with this WordPress also includes a hierarchy of roles that can
based sites are made possible due to the be assigned out as required. These range from the basic role
contributions of multiple people (as opposed to of a Follower who can read and comment on posts. At the
being the work of one person). This is made other end of the spectrum is the Administrator, for whom
possible thanks to the support of multiple users that is built nothing is off limits. Then there is the life of the in-between,
into the WordPress Dashboard. As an owner of a WordPress you have your Contributors who edit posts and delete them
blog you can invite other people to your site as a user. With but cannot publish them. An Author can publish posts but
multiple people being involved on a project you will need to cannot customise the blog the way Administrators and Super
control the level of access available to each individual. To help Admins can!
01 Adding a user
You can invite new users to your blog via the
Users section of the Wordpress dashboard. Simply
02 Invite accepted
Your invited recipients will receive an email
requesting them to accept the invite. However, they will
03 Your user list
Back on your Dashboard you are able to view
your blogs users via the Users tab. If you have multiple
enter a Wordpress username or an email address. Up need to set up an account (they will be walked through users you can select from the role types above main
to ten invites can be sent at once. Use the Role box to the process). Once this is done they will be able to window to filter out a particular group. Roles can be
decide which role will be available to your invitees. access your blog as per the permissions you set up. adjusted and unwanted entries can be deleted.
01: Contributors
Contributors can create and edit their
own posts but cannot publish them.
This is done by the Administrator.
02: Authors
Authors can create, edit, publish and
delete only their own posts. They can
also upload images and files. They
cannot modify other users posts nor
can they edit the pages.
06 Content control
Granting users with basic Author privileges is
handy for when you want to keep control over what
07 Role flexibility
The roles available do come with limitations.
For example, a Contributor can delete their own posts
03: Editor
The Editor can create, publish, edit
content is published on your blog. Any content created which may not be ideal for an Administrator. There are and delete any post, as well as
moderate comments, manage
by an Author is saved as a draft. As the Administrator plugins, such as the User Role Editor, that allow you to categories, links and tags. It is a step
you have control over whether it is published online. adjust the finer details of permissions for each role. below The Administrator.
TUTORIAL
OBJECTIVE
Learn how to create back
up files for restoring your
WordPress database
Back up your
TIME REQUIRED
5 minutes
WordPress blog
PREPARE FOR THE WORST BY CREATING A BACKUP OF EVERYTHING STORED IN YOUR WORDPRESS
INSTALLATION. YOUR BACKUPS CAN THEN BE USED TO RESTORE LOST OR CORRUPTED INSTALLS
TAKE A MOMENT to think about everything is a question of how much you are prepared to lose if the
on your blog. Every post, every shared link, worst happened.
every image that you have ever put on your The process of performing a backup can vary from
site since starting it. If your installation was one setup to the next. There is also a difference depending
somehow corrupted would you be comfortable with losing on whether your blog is hosted by WordPress or by
all of it? This is why backing up your site is a recommended yourself. WordPress hosted blogs have the luxury of
task. The question of how regularly is largely down to having WordPress themselves handling the backups.
your own preference. If you post often, then more frequent Self-hosted users should find that their provider likely provides
backups may be required. Heavier users are known to a backup solution. Check with them to find out what services
keeps backups on a local drive plus an external drive. It really they can offer.
Secure
TUTORIAL IT IS ESTIMATED that WordPress is
OBJECTIVE currently used to power over 60
Secure your WordPress million websites worldwide. Around 25 per
blog from the hackers with
a few simple steps cent of new sites also choose the free CMS
your
as their foundation. WordPress has become
TIME REQUIRED exceptionally popular with users and, as a result,
30 minutes
exceptionally popular with the army of hackers and
spammers lurking out there who would like nothing
better than to exploit your website for a variety of
hackers
IN THIS TUTORIAL YOULL LEARN SOME ESSENTIAL
implement to ensure that your website remains as
fortified as possible.
Some of these tips are very simple things to
employ that will make a difference to the ongoing
security of your site, and indeed your PC or laptop and
HANDS-ON TECHNIQUES AND RESOURCES WHICH CAN general online presence. Some require a little more
HELP TO HARDEN YOUR WORDPRESS SITE AGAINST know-how but once complete will ensure that youre
MULTIPLE THREATS safely protected.
05 Plugin awareness
Plugins can be vital additions to your site, giving
you great functionality beyond the basics. However, some
plugins can present an open door to hackers. Make sure
you get your plugins only through the WordPress
02 Creative passwords
Nobody likes having to remember 20 different
passwords, but its vital that your account password is as
extension, and check the reviews for any warnings. And, like
the platform, be sure to keep them updated.
<above>
sAs with all online accounts, your password is your first line of defence. Its easy to fall into bad habits, using the same password for multiple accounts and utilising words
and phrases that are easily guessed. Make the effort to keep it complex, keep it impersonal and, as much as possible, keep it changing
Top tip
For that little extra
06 Keep only what you need
Do you have a bunch of plugins on your
site that you dont use? Even a deactivated plugin can be
clean reinstall of the site and content is the only way to be
sure you are rid of any malware. precaution, there are
security plugins available,
a threat. Remove as many inactive plugins, themes and files
as you can, including the readme file in the root including Better WP
folder. Simple rule: the fewer the scripts, the fewer Security, Wordfence,
the vulnerabilities. and Sucuri Scanner.
07 Back it up
The importance of keeping your site backed up
at regular intervals cannot be stressed enough. Not all
date. You dont want to end up being the one that infected
your own website simply because you placed a few
corrupted files there! This should be a matter of course
attacks and hacks will cause you to lose it, but you dont even if you dont own a website and can save you a lot of
want to be the one who got caught out. And sometimes, a time and money in just a few clicks.
[|\%[0- 9A-Z]{0,2}) [OR]
005 RewriteCond %{QUERY_STRING} _REQUEST(=|\
[|\%[0- 9A-Z]{0,2})
It is vital that you keep your installation
006 RewriteRule ^(.*)$ index.php [F,L] up to date. WordPress will notify you in the
Dashboard when a new version has been
released. Follow the prompts and update
WordPress Genius Guide 53
Themes
Add personality to your blog
56 The 20 best WordPress
themes
Make your website your own with a
beautiful WordPress theme
74 Build a responsive
WordPress theme
Take the next step and make sure your
website is responsive
78 Customise a WP theme
Make a standard WordPress them your
own with the customisation tools
86 Create a mobile-friendly
site
Take your WordPress site into the
modern age by making it adaptable
90 Transform HTML to WP
Take your HTML site and make it
WordPress compatible
One of the
most powerful
things with
WordPress is its
versatility when it
comes to themes
54 WordPress Genius Guide
WordPress
Genius Guide
Top tip
As an easy option, a
mobile plugin such
as WPTouch can
convert your content
into a mobile-friendly
layout.
The 20 best
WordPress
themes
56 WordPress Genius Guide
WordPress
Genius Guide
Source: bit.ly/1p1lDIU
Hemlock
Source: bit.ly/1qOoZlz
Mesh
Price: $39 Source: themezilla.com/themes/mesh/
Best used for: Personal blog Price: $59
Best used for: Personal
HEMLOCK IS A classic-style blog with a touch of style and class that makes it clean
and contemporary. Rarely has a standard blog theme looked this good. It is refined,
sleek and doesnt have a mass of annoying additions to distract users. The standard
blog style uses wide images, classy serif fonts and a simple colour combination that
adds that little bit of elegance. Individual posts retain the same style, but include
neatly styled pullquotes, subtle social media buttons and biographies.
There is the option to change from the classic layout, if you really need to, and
adopt the classic WordPress sidebar. This gives the option to include more content on
the home page without spoiling the style. For more flexibility there is the option for
different style posts such as video, music and gallery.
Source: www.ceeceee.com/gridify
GRIDS ARE POPULAR. They lay out content in a neat and easy to
digest format for the user and they neatly slot into the responsive
style. Plus, with the right image selection they look visually appealing,
modern and artistic. Everyones a winner.
As its name suggests, Gridify stays true to the popular grid-based
theme, which is very much image-led and visual. The theme uses a full
width image header to introduce the subject matter, while neatly
arranging the rest of the imagery into five columns. Each and every
image had its very own rollover effect which introduces the title of the
associated post.
To break up the barrage of imagery blocks of text can replace an
image. This can come in the form of a standard post, a comment and
audio or video. Be careful with what you choose, as too much will spoil
the aesthetic of the site design.
Individual posts are simple and clean, but still very much in keeping
with the themes stance. An image heads the centred post window
with the text running underneath. Nothing too clever, but it works
perfectly for the theme. Sitting to the side is an off canvas menu that
only makes an appearance when called into action.
Source: www.gt3themes.com/wordpress-themes/knoxville
Source: bit.ly/1Oa0E91
UD Price: $49
Best used for: Directory
Mono
Source: demo.favethemes.com/wp/mono
Roua
Price: $48 Source: demo.stylishthemes.co/roua/
Best used for: Personal blog Price: $43
Best used for: Portfolio/Personal Blog
BUILT BY STYLISH themes, the Roua theme fits the bill perfectly. It is
undoubtedly stylish and brings together a host of popular and
contemporary elements that set it apart from many other themes. Roua
adopts the popular fullscreen opener but it adds a subtle touch to the
premise. There is a faded background image coupled with minimal text to
ensure that the content is the focus.
The content is accompanied by a simple menu icon, keeping the menu
hidden until called upon. The menu uses the off canvas style and pushes
the content to the side when active. The theme also adds in a host of social
media icons. The blog element is portrayed as simple text until rollover
when a full screen background image makes an appearance and adds a
touch of class.
MODERN AND MINIMAL is a simple and concise description of the Mono theme.
The theme is aimed at the personal blogger but avoids the clichs and adds style.
The layout of the theme is grid-based which it uses to great effect for mobile devices
such as tablets and smartphones.
The navigation is an element that avoids the clichs, adopting a simple vertical strip
to the left of the page. Easy access to the complete menu is provided via the popular
hamburger icon. The search facility doesnt hide away with a singleclick taking it
fullscreen. On the home page posts are accompanied by a featured image, which can
be switched out for an alternative such as a video. Individual posts adopt the same
minimalist design but scaled up. They also make good use of the sidebar to add
further content.
Source: themes.fastwp.net/vastudio1
THE VASTUDIO THEME is another one of those multi-talented themes that give the owner a host
of different options. It is at its core a creative one page theme with a focus on creative agencies,
digital studios, personal freelancers and photographers. On offer is a fullscreen parallax option along
with fullscreen video background, fullscreen background slider and custom height parallax. Each of
the different options adds a twist on the primary focus which is a fullscreen home page.
To complement the different design option there are a host of pages including contact, about us,
services, clients, portfolio, blog and pricing.
Behind the scenes the theme uses a visual composer, which makes it even easier to create a
unique layout. Plus, the theme includes a host of icon fonts, CSS3 effects and animations, optimised
code and is fully responsive.
Source: http://klbtheme.com/itsme
AN ONLINE PRESENCE is critical for anyone looking for a new job and even more important for
those in the creative industry. An online portfolio/resume/CV is instantly available for prospective
Everything has the
employers to look at. So, it needs to be good, it needs to make an impact and the Its me theme potential to be suitable for a
covers all these bases.
The theme splits itself straight down the middle with space for a big image to introduce yourself variety of site types, from
and plenty of space to the right to add details. The left-sided image is fixed meaning that it will
always be in view so make sure that its a good one. Sitting in the top left corner is the option to add creative portfolio to
a personal thumbnail to allow viewers to see what you look like. Again make sure its a good one. The
right side of the page is dedicated to content. It is here that the user places all their relevant
personal blog
information. This is a space to sell yourself, so make sure that its good.
Source: bit.ly/1unY3fc
Rebloom
Source: bit.ly/WhEl8u
Price: $43
Best used for: Multi-purpose
Source: bit.ly/1ro2ypX
Source: http://maxi.themeo.us/
NEWS THEMES ARE multi-talented creations, they can be used for almost any type of blog or
site. The Maxi theme is dedicated to displaying an impressive number of stories or posts in a visually
appealing manner. The centrepiece of the default layout is the image-led slider that uses different
sizes to create a hierarchy and entice the user to click.
Further down the page it is white space that pulls apart posts and stories and gives them plenty
of breathing space. The design continues as its heads towards the footer, ensuring that the reader is
always getting plenty of content to choose from without being distracted.
Maxi is a lightweight which means quick theme thanks to its minified CSS and JavaScript and
balanced image sizes. It is also optimised for search engines and has extra layouts if desired.
Source: www.webdingo.net/eightdegree
EIGHT DEGREE COMES in a number of guises making it a very flexible theme. The popular
fullscreen image background is employed here and coupled with contemporary fonts to make it Literatum offers the
very now. The basic option is a simple fullscreen image background while there are parallax slider
and image slider options to take control of the top of the page. These are only the icing on the cake, option to replace the
or topping on the theme. Each version of the theme offers a lot more that users will love.
The theme proves all the popular sections you would expect in a site: about, team, portfolio, featured image with a video
clients, blog, contact and as an added extra, prices. It is these pages that give the theme its flexibility.
Alongside its more functional talents it boasts a modern and clean design and a layout that makes
at the top of each post
it stand out from its competitors.
Create
your
own
theme
LEARN HOW TO CREATE YOUR VERY OWN WORDPRESS THEME FRAMEWORK FROM SCRATCH
ONE OF THE most powerful things with WordPress is its installation with at least one theme installed and FTP access to your
versatility when it comes to themes. Despite the fact that WordPress installation (but this is not essential).
WordPress blogs are largely built upon the same building The next step is to come up with a name for your theme. Something
blocks the differences between one project and the next can simple will do for now as were only building a theme for our own blog
be staggering. This is why it can be such a rewarding process to get (as opposed to sharing it with the WordPress community). Once you
stuck into theme building. With just a little knowledge on HTML and CSS settled on a name you can create a folder named after your theme and
you can assemble a blog that is truly your own creation. Over the next save it somewhere on your hard drive. Eventually we will upload this
few pages we will build a theme from scratch and at the end you will folder to the wp-content/themes folder either via FTP or through the
have a theme that you can keep handy as a starting point for any of WordPress Dashboard.
your future projects. With regards to this tutorial we will be making a simple theme
Before you get started there are a couple of things that you will need. consisting of a header, main area, sidebar and footer. You can find all the
Firstly, a code editing program such as Notepad++, a working WordPress code and source files at www.web-designer.co.uk/tutorial-files.
Theme structure
WordPress themes are made up of template files
that dictate the layout of your content. The actual
content (posts, images, etc) does not form part of
these templates. Instead, the content is stored
elsewhere within the WordPress database. The
template files reside within a specific folder for
your theme within wp-content/themes. Think of
them as the building blocks of your WordPress
site. They all come together to create the web
pages on your site. Within the folder you will
also find a style sheet that will dictate the look of
your theme (background colours etc.). At its
most basic level the folder for your theme
should include at least the first five of
these templates.
01 Marking a start
<link rel="stylesheet" type-"rext/css" WordPress via FTP or wait to zip it later for upload
Open your notepad program and enter the href="<?php bloginfo( 'template_url' );?>/ (well cover this approach later on).
above code into a new file. The first line is a style.css">
declaration of the DOCTYPE, we have gone for a <?php wp_head();?> <!doctype html>
HTML5 version which is recommended. This is </head> <html>
followed by an opening <html> tag. Weve also added <head>
an attribute for the character encoding, its nothing
major to be clued up about, just be sure to include it.
Were now ready to start adding the HTML that will
04 Display the title
Here is the command that puts our blog
title at the top of the page. Firstly weve placed a
<meta charset="utf-8" />
<title><?php
wp_title('|', 'true', 'right');
set up our header. command that will apply a border as per the style.css bloginfo( 'name' );
file (more on that later). Following this is a command ?>
<!DOCTYPE html> to generate a URL link for the home page which is </title>
<html> then applied to the title. You can also put normal text <link rel="stylesheet" href="<?php
<head> between the H1 markers but the idea here is to make bloginfo('stylesheet_url')?>" />
<meta charset=utf-8 /> the theme dynamic so it can be used with any blog. <?php wp_head()?>
</head>
05 Navigation bar
been requested in the bloginfo line. Then we close off <nav>
the <title> tag at the end. This part is now added to the code. It adds <?php wp_nav_menu();?>
a little navigation section underneath our blog title. </nav>
< title> This can be used for navigating to the other pages <body>
<?php wp_title('|', 'true', 'right'); that are on your blog. This is a default WordPress <div id="wrapper">
bloginfo( 'name' );?> navigation menu where the links are displayed as
</title> bullet points. </div>
Code library
Exploring the header
001 <!doctype html>
It is essential to keep the
<html>, <head>, <title> tags as 002 <html>
these will remain important 003 <head>
even in your new code 004 <meta charset="utf-8" />
005 <title><?php
006 wp_title('|', 'true', 'right');
007 bloginfo( 'name' );
The id tag allows you to
identify the element of the
008 ?>
CSS coding so you can 009 </title>
edit the style sheet 010 <link rel="stylesheet" href="<?php
without having to locate a
specific part of the code bloginfo('stylesheet_url')?>" />
011 <?php wp_head()?>
012 </head>
013 <div id="header">
For usability it is best to 014 </header>
keep your navigation bar 015 <h1><a href="<?php echo home_url('/')?>"><?php
at the top. By using this bloginfo('name')?></a></h1>
piece of code you can
ensure that it remain near 016 </header>
the blog header
017 <nav>
018 <?php wp_nav_menu();?>
019 </nav>
Once you are done with the 020 <body>
header and navigation. 021 <div id="wrapper">
youll be able to add in 022
everything else after it. So
end the <nav> tag a and it is 023 </div>
time to start with the body
<div id="footer">
<footer>
And down here we have the footer
</footer>
<?php wp_footer(); ?>
</div>
</div>
</body>
</html>
footer {
The footer can contain links,
width: 90%;
background: #000;
menus, navigation icons, pretty
color: #fff; much anything you like
One of the main files of your WordPress installation The complete code
<div id="main">
will be index.php. Its the first file that loads when
someone visits your WordPress site. It controls what
functions the site will display and how.
<div id="content">
<?php if (have_posts()) : while (have_
04 Here is how the full list of code will
look within our index file. Its a fairly
simple arrangement compared to index files
posts()) : the_post(); ?> from the default WordPress themes but for the
The basics <h1><?php the_title(); ?></h1> purposes of our blog it will work just fine.
03
<?php get_header(); ?> These lines finish the code for our <p><?php the_content(__('(more...)')); ?></p>
<?php get_sidebar(); ?> index file. They break up the main area <hr> <?php endwhile; else: ?>
<?php get_footer(); ?> from the sidebar and the footer. At the very <p><?php _e('Sorry, no posts matched your
bottom is the request for the footer which will sit criteria.'); ?></p>
Grabbing your posts at the bottom of our web page. <?php endif; ?>
</div>
Content
Among the files in your WordPress installation there will also be a file $postid = $post->ID;
named functions.php. Its a powerful file that can add extra functionality $title = $post->post_title;
to your WordPress installation. It works like a plugin within your theme $commentcount = $post->comment_count;
so you can modify features without editing any of the core WordPress if ($commentcount != 0) { ?>
files. As per the other templates these functions are called upon when <li><a href="<?php echo get_permalink($postid); ?>"
needed by the index.php file. title="<?php echo $title ?>">
If youre using a child theme its worth noting that functions do not <?php echo $title ?></a> {<?php echo $commentcount ?>}</
work in the same way as the style.css. In the case of style.css the choice li>
made there will override the parent theme. With functions.php both files <?php } } ?>
from the child and parent theme will combine and complement each </ul>
other. To that extent, if you dont need any new functions for your child
theme then you dont even need to create a function.php file.
There are too many options to list here when it comes to adding
functions so its worth scouring the internet for the kind of functions you
feel you may need. As an example this code will add section to your blog
that displays the most popular posts.
<h2>Popular Posts</h2>
<ul>
<?php $result = $wpdb->get_results("SELECT comment_
count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC
LIMIT 0 , 5");
foreach ($result as $post) {
setup_postdata($post);
Content
<ul> <?php get_header(); ?>
<li><?php next_post_link(); ?></li> <div id="main">
Content from your blog is displayed within an area <li><?php previous_post_link(); ?></li> <div id="content">
known as the loop. Arguably one of the most </ul> <?php if (have_posts()) : while (have_
powerful sections of your blog, the loop is a special </div> posts()) : the_post(); ?>
section of code that displays your posts and <h1><?php the_title(); ?></h1>
comments wherever you place it. </article> <h4>Posted on <?php the_time('F jS, Y') ?></
h4>
Top tip
While the theme were
building works as a
jumping off point, its
worth planning ahead for
your future projects.
Sketch out your
ideal blog.
Top tip
Create a 600px by
450px image. Save as
screenshot.png in the
theme folder. It adds a
theme screenshot to
your dashboards
Theme panel.
When it comes to
making more themes
you can keep the
templates the same
Build a
TUTORIAL THERE ARE MANY great themes on
OBJECTIVE WordPress you can customise. We will be
Create a theme that adapts
using Zurbs Foundation framework for the
to mobile devices purposes of this tutorial. Previously to
responsive
incorporate the theme into WordPress you had to
TIME REQUIRED manually link the necessary JavaScript and CSS using
2 hours
the WordPress functions wp_enqueue_script and wp_
enqueue_style. But now, thanks to Zurb and the
WordPress
popularity of WordPress, Zurb has provided a starter
theme called FoundationPress, which you can
download directly from its GitHub page to start building
your own WordPress theme.
theme
The purpose of this ultimate starter theme is to act as
a springboard; it comes packed with useful reuseable
components, a 12-column responsive grid, JavaScript
functions and much more. This starter theme contains
all the necessary design elements, including the
AS THE MOST ADVANCED RESPONSIVE FRAMEWORK JavaScript and CSS libraries.
AVAILABLE, ZURBS FOUNDATION IS IDEAL FOR YOUR Still, FoundationPress is not an all-in-one WordPress
LATEST WORDPRESS PROJECT theme with plugins, shortcodes, custom options or
custom templates it is only to be used as a starting
point. Luckily it has done most of the hard work for us
including setting up widgets, navigations, displaying
blog posts and general clean-up of WordPress.
01 Download FoundationPress
To begin, make sure you have the latest version
of WordPress installed and set up. Head over to the
including a gradient background. Open up the header.
php and paste in the following HTML code.
<above>
sStart building responsive WordPress themes
using Zurbs own advance Foundation
FoundationPress it wont override any custom work. You
may use Sass with Foundation, but to allow beginners to
follow along this tutorial, well be using pure CSS.
05 Style the header
With our header implemented well now need to
style it. Open up style.css in the FoundationPress starter
framework starter theme
theme, start by giving the main header a gradient
001 <link rel=stylesheet href=<?php echo get background, using CSS3 gradient. Position the main h1
_template_directory_uri(); ?>/style.css /> above the header. Lets make all characters upper-case and
give it a text shadow to stand out from the light backdrop.
<above>
sWe used Foundations grid
system on the search form, which
will auto scale down for mobile and
<top> tablet devices
sIn WordPress, activate FoundationPress starter theme. This theme includes all <left>
the Foundation framework library sEnabling navigation to appear
<bottom> on mobile devices can be
sFoundationPress allows you to order menus to be on the left or right side of the controlled all through the Menus
menu and enable for mobiles panel in WordPress
008 }
#007295 100%);
003
searchform_top); ?>
<div class=large-8 columns searchbox>
Top tip
009 .main-head h1 { 004 <input type=text value= name=s Make sure that you have
010 text-align: center; id=s placeholder=<?php esc_attr_e Node.js, Grunt and Bower
011 font-weight: 900; (Search, FoundationPress); ?>> installed locally so you
012 text-transform: uppercase; 005 </div>
013 letter-spacing: 10px; 006 <?php do_action(foundationPress_
can perform an update
014 text-shadow: 1px 1px 2px rgba searchform_before_search_button); ?> to the Foundation
(50, 50, 50, 0.59); 007 <div class=large-4 columns framework.
015 font-size: 2.5rem; searchbutton>
016 color: #fff; 008 <input type=submit id=searchsubmit
017 } value=<?php esc_attr_e(Search,
FoundationPress); ?> class=prefix next to each other on a large monitor. Using the grid
06 Add a search button> system will force our layout to be responsive. Remove
Currently in our widgets list, the search form is 009 </div> the original code all the way down to the <footer> tag
located in the sidebar. In WordPress Widgets we can in content.php.
disable the search widget. Now inside our head.php at
the very bottom, paste in the following function, which
will print out the search form. Were going to place our
08 Modify index.php
The index.php is the main template in
WordPress theming hierarchy. Were going to modify
001 <div class=large-4 columns role=main>
002 <article id=post-<?php the_ID(); ?>
search form just below the header of our website. it and remove some of the grid components and <?php post_class(panel); ?> data-
place them in content.php instead. Remove the equalizer-watch>
001 <?php get_search_form(); ?> <div> row and grid classes just below the get_header 003 <header>
function and replace it with the code below. Finally, 004 <h2><a href=<?php the_permalink();
07 Customise search migrate the <?php get_sidebar(); ?> just above the get_ ?>><?php the_title(); ?></a></h2>
With the get search form function added in footer function. 005 </header>
our header.php we can now structure this search form 006 <div class=entry-content>
by editing the searchform.php. Directly below the form 001 <?php get_header(); ?> 007 <figure><a href=<?php the_permalink
tag we have applied a row <div> and changed the default 002 <div class=row data-equalizer> (); ?>><?php if ( has_post_
grid layout to use the large grid system as well as setting thumbnail() ) {the_post_thumbnail
09 Blog post
some custom classes to be referenced in our CSS. (large); } ?></a></figure>
With the home page structure completed, 008 <?php the_excerpt(); ?>
001 <div class=row> well want to structure each blog post in a grid column 009 <p>Posted on <?php the_time(F jS, Y
002 <?php do_action(foundationPress_ of four rows; this will lay out three blog posts organised ); ?> in <?php the_category(, );
<above>
s)FSFXFIBWFPVSfully responsive WordPress site,
resizing to perfectly display on all screen sizes
<top left>
sEasily set up and use shortcodes in your site to take
advantage of Foundations library of components
< bottom left>
sUsing WordPress shortcodes, we were able to add
Foundations alert box components throughout the site
14 Widgets
column in a set of threes, well now implement some 004
simple styling to this home page. Back in our style.css, Now to actually lay out our widgets, we will
well add some box shadow so the panels dont look so
flat. We dont need to style the panels themselves as
these styles are already set up inside Foundation.
12 Move the sidebar
Rather than having our sidebar situated on
the right-hand column, we will position it directly
need to open up the widget-areas.php located in the
library directory. Inside the first array on line 8, remove
what is currently there and replace it with the below,
below all the blog posts and just above the footer. which uses the large-4 grid and a data-equalizer-watch
001 .panel { Inside the sidebar.php were going to use attribute that the Equalizer component requires to set
002 box-shadow: 0 1px 5px #D5DEE5; Foundations Equalizer component, which will set equal heights to each panel.
003 } equal height to all the widget panels. We simply
004 figure { place the data-equalizer attribute to the parent 001 before_widget => <article id=%1$s
005 margin: 0; container here. class=widget %2$s large-4 columns><div
006 } class=panel data-equalizer-watch>,
007 .entry-content figure img { 001 <div class=bottom-sidebar>
003 background-color: #cecece; the add_shortcode method. The first parameter defines
004 } the shortcode in the editor while the second points to
the function that we created previously.
16 Set up shortcodes
Because there is a vast amount of
components available in Foundation, we convert some
001 function register_shortcodes() {
002 add_shortcode(alert, foundation_add_
of them into shortcodes so that we can reuse these alerts);
components whenever were in the editor. Creating 003 }
shortcodes requires two steps: create a primary handler 004 add_action(init, register_shortcodes);
method and hook up the handler into WordPress.
Inside the functions.php we need to set up our
primary function. 20 Shortcodes to use
We can now use the following shortcodes in
the editor to display alert boxes, which is a native
001 function foundation_add_alerts component from the Foundation framework. All we have
( $atts, $content = null ) { to do is pass in which type of alert box type we want
002 extract( shortcode_atts( array( displayed by selecting the attributes: success, secondary
003 type => , or alert. We can even choose what type of shape to use
Store all your shortcodes in
004 shape => , and whether we want a close off function.
a separate file
005 close => true, In this tutorial our code for the WordPress
006 class => 001 [alert type=success shape=radius shortcodes are placed in the functions.php.
007 ), $atts ) ); close=true]This is a success message While this is valid, to keep our functions.php
[/alert] clean and easy to maintain its good practice to
17 Shortcode array 002 [alert type=secondary) shape=radius copy all of the shortcodes into a separate file
In the previous code snippet we noted that our close=true]This is a standard message instead. The benefit of having this separate file is
function receives the parameters of type, shape and [/alert] that it becomes more modular and, should you
close. Were going to use this to display alert boxes 003 [alert type=alert shape=round close= have lots of shortcodes, it wont become
using one of Foundations components. The type false]This is an alert message[/alert] cluttered in unnecessary code compared to
attribute will display success, warnings or informative being in the functions.php.
information using this shortcode. Lets set up an array
that will capture these attributes. 21 Alert boxes
Without any CSS styling or JavaScript and just
using the shortcodes we have set up, we can
To follow FoundationPress standards we can
copy all our shortcodes into a new file called
foundation-shortcodes.php. Within the
001 $class_array[] = ( $shape ) ? $shape : ; implement alert boxes wherever we like in our functions.php we can just reference this with:
002 $class_array[] = ( $type ) ? $type : ; WordPress site. By simply using shortcodes we can
003 $class_array[] = ( $class ) ? $class : ; easily convert many of the rich components from
require_once(library/foundation-
004 $class_array = array_filter( $class_array ); Foundation to be used easily throughout our site.
shortcodes.php);
005 $classes = implode( , $class_array );
You could even store all of your shortcodes
18 Shortcode markup
When this shortcode is executed we want to
22 Footer
To finish up were just going to add in a footer
navigation by using the WordPress WP list pages. Open
within a separate plugin. That way, in the event
that you switch themes, they will always be
available and working.
make sure that its using the correct formatted markup up the footer.php and just belowthe closing </section>
and CSS classes. We need to use a wrapping class tag, remove everything including the <footer> tag.
alert-box. This is very important because we want to Replace it with the following code, which will display a styling up our footer. Through this tutorial weve taken
make sure that Foundation calls the Alert JavaScript list of all pages on our site. the starter theme FoundationPress and quickly
plugin for us. This particular plugin is in fact handled in customised it as our own theme using a variety of
the foundation.alert.js. 001 <footer class=main-footer> Foundations components and functionality. Using
002 <div class=row FoundationPress allowed us to focus on the front-end
001 $output = <div class=alert-box . $ 003 <ul> development and less on the actual backend efforts.
classes . >; 004 <?php wp_list_pages(); ?>
002 $output .= do_shortcode( $content ); 005 </ul> 001 .main-footer {
003 $output .= ( false != $close ) ? <a 006 <?php do_action(foundationPress_ 002 padding: 10px 0;
class=close href=>×</a> : ; before_footer); ?> 003 background-color: #9c9c9c;
004 $output .= </div>; 007 <?php dynamic_sidebar(footer- 004 }
005 return $output; widgets); ?> 005 .pagenav ul {
006 } 008 <?php do_action(foundationPress_ 006 margin: 10px 0 0 0;
after_footer); ?> 007 }
Customise a
THEMES ARE A key part of your
TUTORIAL WordPress blog, as they dictate how
OBJECTIVE
Learn some basic
your website will appear to your
tweaks that can be visitors. The choices you make with
applied to personalise a
WordPress
WordPress theme regards to aesthetics and layout will determine
whether your users will want to delve further
TIME REQUIRED into your content or avoid making a return trip
20 minutes
in the future. WordPress has plenty of themes
theme
for you to choose from and you can also make
your own customisations to really add that
personal touch. Making such customisations
does involve a certain amount of coding but
even with a minimal amount of knowledge you
THERE ARE PLENTY OF PRE-MADE THEMES THAT YOU CAN can learn a few tricks to get you up and running.
MAKE USE OF FOR YOUR WORDPRESS BLOG. WITH A LITTLE BIT If you make the correct preparations you can
also make edits without putting your installation
OF WORK UNDER-THE-HOOD YOU CAN GIVE YOUR OWN BLOG at risk. This is done by creating a child theme
A LOOK THAT DIFFERS FROM THE REST OF THE CROWD that inherits the traits of a pre-existing parent
theme. In this tutorial we show you how to do
exactly that, customising the CSS for themes to
create a look that you are hoping for rather than
The choices you make with relying on the themes that are provided by
regards to aesthetics will determine WordPress. We also take you through setting up
fonts for your theme, guide you trough
whether your users will want to delve hexidecimal colours, adding notes and borders
to your work to make a cohesive theme that has
further into your content that personalised touch.
<left>
sMake customisations
and design alterations
to your installed
theme without the
need for learning
code via the
WordPress Dashboard
<top left>
sUse in-browser developer tools
to create non-destructive edits
to your blog whilst gaining a
better understanding of CSS
code and how it works
<bottom left>
sWhen it comes to uploading
your child theme you can use an
FTP program (as above) or the
upload theme function in the
WordPress Dashboard
<bottom right>
sOnce your child theme has
been uploaded successfully it
will appear within the
Dashboard. Youll need to
activate it in order to keep
making edits to it
Top tip
Plugins such as
05Understanding
commands
CSS
Now we have a child theme installed we can customise
are applying is uppercase. When we apply this code
it will force all of the text in Heading1 to appear
in uppercase.
Widgets on Pages make
it possible for widget
areas to display within
it without disturbing the parent theme. This is done the content of a page
001 /*
by adding extra lines of CSS code into the style.css file. or post by means of
002 Theme Name: TwentyThirteen Child
On a basic level they work like the example above.
003 Description: my fabulous child theme
shortcodes that the
The Item is the feature that youre editing. This is
004 Author: Lisa Sabin-Wilson
user pastes into
followed by a curly bracket and the Property which is the
005 Version: 1.0
the text.
aspect of the item that is being changed. Value is what
the new setting will be, ie a colour or font. Note the use of 006 Template: twentythirteen
the colon and semi-colon, these are required as part of 007 */ have been made, click on Update File to finalise your
the coding. 008 @import url('../twentythirteen/style.css'); changes and update your blog.
009 h1 {
08Set up fonts
001 Item { Property: value; } 010 text-transform: uppercase;
011 } Once youve mastered one command you can
06 Adding code
When it comes to adding new code it needs
to be added after the @import line. If you add 07View changes
If you wish you can edit the local style.css file
move on and start applying multiple commands. This is
an example provided by WordPress that illustrates the
many possibilities regarding fonts. We have set the body
commands before the @import line, the alterations on your computer and upload it again via FTP to your text to be either Arial, Helvetica or Sans Serif (depending
will not take effect. Working from the example in the WordPress installation (overwriting the old file). on what fonts the end user has installed) with a size of 14
previous step, the item that we are editing is Heading Alternatively you can edit the file within the WordPress pixels. Headings one and two have been set to two times
1 (known as H1). The property that were changing is dashboard. Click on Appearance>Editor. This will open and one and a half times larger than the body text
the text format (text-transform) and the value that we the stylesheet within your web browser. Once your edits respectively. Any strong text elements, such as widget
<top left>
s5PTBWFUJNFZPVDBOBMXBZTUSZDVTUPNJTJOHZPVSUIFNFWJBUIF%BTICPBSE"WBJMBCMFPQUJPOTXJMM
WBSZEFQFOEJOHPOUIFUIFNFZPVIBWFBDUJWBUFE
<bottom left>
s5IF$44FEJUPSJO8PSE1SFTTJTBRVJDLFSXBZPGVQEBUJOHZPVSTUZMFDTTJMFDPNQBSFEUPVQMPBEJOHJU
WJB'51
<bottom right>
s"WBJMBCMFJOCSPXTFSTTVDIBT$ISPNF
'JSFGPYBOE4BGBSJ5IF%FW5PPMTBSFBHSFBUXBZPG
FYQFSJNFOUJOHXJUIBEKVTUNFOUTUPUIF$44DPEF
titles, will appear in italic and uppercase to draw extra 004 border-left-width: 10px; that is being used for this item. Scroll down this window
attention to them. 005 border-right-width: 10px; to view the code that has been applied. Here we have
006 border-color: black; located the code from earlier that has forced our header
001 body { 007 } text to be all uppercase.
002 font-family: arial, helvetica, sans-serif;
14Manual edits
014 }
09 Add borders
You can also add borders to particular elements
11 Developer Tools
Web browsers such as Firefox and
Chrome can do more than just search the web. They
You can also manually change code by selecting
a value and typing in a new entry. Here we are altering
the colour of the website title. When it comes to colour
of your page. Here we have added a dashed border also now feature developer tools that allow you to you can enter a colour, RGB value or hexadecimal code.
to Heading Size 1. It will be 3 pixels wide at the top and inspect various elements of a web page. Well focus Its more preferable to use a hexadecimal value as there is
bottom plus 10 pixels wide at either side. The border will on Chrome in our example. Open your webpage, far more variety available. Here we have clicked the value
also be black. Its a good example of how you set up the right-click on an element you wish to change and select and used the arrow keys to scroll through the code values
item first then follow with curly brackets containing the Inspect Element. until we have found a value that fits.
specifics of what you want to edit.
001 h1 {
002 border-style: dashed;
12Viewing the code
The bottom of the screen will now display
two panels. On the left is the HTML elements with our
15Apply your edit
Once youve found the correct setting you can
then copy the code straight from the dev tool. Select the
003 border-width: 3px; selected item highlighted. On the right is the CSS code code beginning with the Item (in this case .site header
Hexadecimal
colour codes
Weve briefly touched up
hexadecimal colour codes in the
main tutorial. In basic terms this is a
six digit code where each colour
relates to a different code. Using
hexadecimal codes means that up to
16,777,216 colours are available for
you to use. There is a logic to the Top tip
codes but thankfully there are also 5PTUPQQFPQMF
some great online tools to save you TFFJOHZPVS
the hard work of figuring out the
EFWFMPQJOHCMPH
TFUJU
codes for yourself. Of particular note
is http://colourco.de/ . Its website
UPQSJWBUF'SPNUIF
that not only provides you with codes
%BTICPBSE
DMJDL
for colours but also suggest other
4FUUJOHT3FBEJOHBOE
colours that will compliment your TFMFDUA*XPVMEMJLFNZ
initial colour selection. This is TJUFUPCFQSJWBUF
invaluable for creating a good look
on your site. Simply drag your mouse
pointer around the screen and
colourco.de will display the codes for
each corresponding colour.
16Taking it further
So far youve gained a basic idea of
how CSS works and how to apply it. There is
a lot more to cover, much more than what we
can fit in here. WordPress has links to some
great online material to help you out. Such <top>
an example is XXXIUNMEPHDPNHVJEFT s#ZTFMFDUJOHBOFMFNFOUPOUIFQBHFUIF
DTT which covers various aspects of HTML, %FW5PPMDBOUBLFZPVTUSBJHIUUPUIF$44
DPEFUIBUSFMBUFTUPJU'SPNIFSFUIF
Javascript and CSS. UXFBLJOHDBOCFHJO
<middle>
s)FSFXFIBWFVOUJDLFEUIFAVQQFSDBTF
BOEUXFBLJOHBCMPH <bottom>
ZPVDBOBMTPEPTPJO s:PVDBOBMTPDMJDLEJSFDUMZPOBWBMVFBOE
BOPMJOFFOWJSPONFOU NBOVBMMZFOUFSZPVSDIPTFONFBTVSFNFOU
"HBJO
UIFQBHFXJMMVQEBUFJOSFBMUJNF
CFGPSFZPVQVCMJTI
DIBOHFTPOMJOF5SZ
www.wampserver.
com/en/
Convert a
TUTORIAL THE POPULARITY OF WordPress has
OBJECTIVE refused to abate over the last few years,
Convert your HTML theme with over 60 million websites worldwide
into a WordPress theme
and around 25 per cent of new sites
static site to
TIME REQUIRED choosing the free content management system as
2 hours
their foundation. Running your website with a CMS
has obvious benefits, from ease of changes for site
owners, to the wealth of extra functions available. But
WordPress
what can you do if you have an existing non-CMS site
that you would like to use in the WordPress format
without changing the look of the site? Well, thankfully
its not as difficult as you may think to take an existing
with a child
theme and replicate your site with it.
WordPress comes with a selection of own
out-of-the-box themes pre-installed, including Twenty
Fifteen, which is the most recent. They offer a basic
theme
responsive framework and are solid, secure, and
dependable themes which stand up to heavy editing.
This exercise uses an older iteration of the theme,
Twenty Twelve. Themes are updated by WordPress
regularly, so to avoid all the changes being lost with
TRANSFORM A HTML SITE USING A CHILD OF THE NATIVE each update, well be creating a child theme. Using
WORDPRESS TWENTY TWELVE THEME child themes allows you to draw your files and styling
from an existing theme while creating changes and
making amendments in a separate sub-folder, giving
you complete control.
02 Install WordPress
Install WordPress where the site was and enter
css. Its important that you stick to this naming structure as
this is what WordPress will look for. Save it to the child
the details into the fields. Log in to your Dashboard and
view the site by clicking on the site title in the top-left of the
window. Youll see it as it looks in the unedited Twenty
folder. Add the following, or equivalent, declaration to the
top of the sheet. The template name must match exactly
the folder name of the parent theme.
06 Activate your theme
Activate the new theme by clicking the Activate
link, which youll be able to locate below the screenshot.
Twelve theme. Now we need to set up our child theme. Youll see the screenshot move to the top. If you look at the
001 Theme Name: Cat Stuff site again, youll notice that nothing has changed, but we
10 Image
customisation in the Twenty Twelve theme, using CSS gives bloginfo(stylesheet_directory); ?>/images/
us far greater control. Now we are writing new versions of To put our original cat header in place we need to logo.png/></div>
CSS declarations, rather than changing the originals. This is take the header image from the original site (head.jpg) and 003 </hgroup>
where referring to both the original theme CSS and using place it in a new images folder, in our child theme. Place the 004 #logo {
browser developer tools to identify which CSS classes we following styles into the CSS sheet, overriding those of the 005 text-align: center;
need to amend is invaluable. original and calling our image as a background. Add the 006 }
img value for responsive purposes.
001
002
img {
max-width:100%;
12 Navigation
The navigation currently sits halfway up the
header image. We can fix that, but first we need to create
003 } some pages and assign a WordPress menu so we can see
004 .site-header { the elements we need to style (see In Detail). Once you
005 background: url(images/head.jpg); have the menu assigned, you can apply the following styles
006 background-repeat:no-repeat; wrapped in a media query so the mobile navigation can be
007 background-position:center; addressed separately.
008 height:300px;
11 The logo
edge-to-edge design. Removing the body padding will 004 background:rgba(203,205,15,0.3);
leave us having to add content padding here and there to There are two ways to remove the title and 005 margin-top: 124px;
compensate, but its not too much trouble. You can change description, either by deleting the H1 and H2 tags from the 006 }
the body colour (#333) in the CSS or in the customisation <hgroup> in header.php, or deleting the content in the 007 .main-navigation li {
options for the theme. admin and overriding the CSS. The former is easier. Delete 008 margin:0 20px;
the tags and add the logo image to the images folder, then 009 }
001 body .site { place a logo div between the <hgroup> tags which calls the 010 .main-navigation li a {
002 margin:0 auto; image, and add some CSS. 011 font-family:Verdana, Geneva, sans-serif;
003 padding:0px; 012 color:#fff;
004 } 001 <hgroup> 013 font-size:16px;
005 002 <div id=logo><img src=<?php 014 text-transform:none;
Changing
.site-content to .front-
content maintains the
CSS for .site-content
015 line-height: 2.692308;
016 }
017 }
<above> <above>
s5IFNFOVTUJMMOFFETXPSLBUNPCJMFTJ[F1MBDF
TPNFDIBOHFTJOUIFNBYXJEUIQYNFEJBRVFSZ
s(JWFANFOVUPHHMFBCMBDLCBDLHSPVOEXJUIXIJUF
UFYUBOEHJWFANBJOOBWJHBUJPOBNBSHJOUPQPGQY 14 The slider
Download the plugin Meteor Slides through
the admin, and install it. Activate it and upload your
slide images from the original site by clicking Slides>
Add New. Go to Slides>Settings and set the base slide
width and height. Then, create a slider div on your
child home.php and place the following inside it to call
the slider.
<above> <above>
16 Create the page
Click on Pages>Add New in the left-hand
menu and call your new page Home Page Content.
s3FEVDFAMPHPCZHJWJOHJUBXJEUIPGBSPVOE
s(JWFANBJOOBWJHBUJPOBDCDEGBOEOPUFYU
XJUIBNBSHJOMFGUBOESJHIU
JOPSEFSUPBMMPXGPS EFDPSBUJPO
BOEANBJOOBWJHBUJPOMJBQUGPOUXJUI The content for the three columns on the original
NPSFSPPN QYMJOFIFJHIU home page were divided into three sections. Copy the
HTML for those sections into the text editor, making sure
21 Inner pages
error sit voluptatem accusantium doloremque 027
laudantium, totam rem aperiam, eaque ipsa quae Copy page.php and the folder page-templates
19 H1 Tag
ab illo inventore veritatis et quasi architecto into your child. All inner pages can now be created
beatae vitae dicta sunt explicabo. Nemo enim The three H1 section titles used a Google font, so using the internal pages made earlier, either with HTML
ipsam voluptatem quia voluptas sit aspernatur you can bring that in now. Place the href in the header.php, in the Text tab or through the Visual tab, and use these
aut odit aut fugit. in the <head> tag as you normally would. Dont forget to templates. If you want to keep the sidebar removed, select
010 </div> include the styling from the original site, too. Also, you need full-width page under Templates in the page editor.
011 <div class=section> to add some styling to .front-content to match the
22 Removing comments
012 <hr /> background colour of the original.
013 <h1>REOW</h1> <link href=http://fonts.googleapis.com/css?family=Denk+ If you want to remove the comments
014 Ut enim ad minima veniam, quis nostrum One rel=stylesheet type=text/css> functionality from your pages, leaving them matching the
exercitationem ullam corporis suscipit originals, you need to either delete or comment out the
laboriosam, nisi ut aliquid ex ea commodi 001 .section h1 { relevant PHP snippet in both page.php and full-width.php.
consequatur? Quis autem vel eum iure 002 font-family: Denk One, sans-serif; There is also a little CSS snippet you can place at the top of
reprehenderit qui in ea voluptate velit esse 003 text-align:center; each page in the editor to hide the page title.
quam nihil molestiae consequatur, vel illum qui 004 font-size:35px;
dolorem eum fugiat quo voluptas nulla pariatur? 005 margin:20px 0; 001 Hide the Page Title <style>
015 </div> 006 } 002 .entry-title{display:none;}
007 .front-content { 003 </style>
Create a
THE WAY WE access the internet
TUTORIAL has changed dramatically over the
OBJECTIVE
Make adjustments to your
last few years. Previously, your
theme so it can adapt to the WordPress blog would have most
screen sizes web browsers
mobile-
on mobile devices likely been accessed by desktop browsers.
These days you are more likely to find that an
TIME REQUIRED increasing number of your viewers are
30 minutes
accessing your blog via a mobile device or
friendly site
tablet. To that extent it is important to make sure
that your website is optimised to work on such
platforms. Taking the time to do so will not only
improve the experience of your audience but
also help ensure that they return to your blog in
WITH MORE AND MORE USERS ACCESSING THE INTERNET ON the future. Some themes (known as responsive
MOBILE DEVICES IT IS MORE IMPORTANT THAN EVER TO themes) can adapt the content accordingly
when a mobile browser is detected. Alternatively
ENSURE THAT YOUR SITE CAN STILL WORK PROPERLY WHEN there are plugins and code modifications that
VIEWED ON A SMALLER SCREEN can be applied to adjust your theme accordingly.
<left>
sYoull find that a lot of
themes are catering
for mobile devices
straight out of the box
with no need for extra
tweaking by yourself
02Install a plugin
If your theme does not include a mobile
to know how to use CSS code. The settings for
WPTouch allow you to apply colours, select how your
Ten theme which is non-responsive. Most likely
you will need to install it first. Click on Appearance
<left>
sWhen viewed on a mobile
device your content will adapt to
the screen size, videos will
appear in line and menus can
retract to save space
<top right>
sMore and more themes are
capable of being responsive
straight out of the box. In this
example we can see how our
blog will appear in varying
screen sizes
<bottom right>
sPlugins such as WPTouch can
turn your blog into a mobile
friendly site with no need to
learn any new code
Top tip
001 @media only screen and (max-width: 640px) If youre unfamiliar
followed by Add New. Type Twenty Ten into the
search box and click install from the relevant {} with coding, there
search result. are plugins that
exist to make your
05 Create child theme
If this is going to be theme that you wish
07Adjusting the layout
These lines of code need to be placed
within the curly brackets at the end of the code from
theme mobile
adaptable. Including
to keep it might be worth considering installing a the previous step. Here we are setting the main frame
WPTouch.
child theme. That way if your current theme receives size to 400px and the container layer to match the
an update it wont overwrite the changes we are main frame size. These settings only take effect once
making over the next few steps. Steps for this can the screen size drops below 640px. To check if the
be found in the previous tutorial for customising code is working you can try resizing your desktop 5) and the image will be hidden on devices using a
a theme. browser window. smaller screen.
<left>
s8JUIJOOPUJNFBUBMM815PVDIDBOUVSOZPVSCMPHJOUPBNPCJMFGSJFOEMZXFCTJUF5IFGSFFWFSTJPOBMMPXTKVTUFOPVHIJO
UIFXBZPGPQUJPOTUPNBLFJUWJBCMF
<bottom>
s*GZPVXBOUUPGPMMPXPVSFYBNQMFGPSNBLJOHZPVSPXOSFTQPOTJWFBEKVTUNFOUTUIFOUIF5XFOUZ5FOUIFNFJTBHPPE
QMBDFUPTUBSU
14Powered by Wordpress
001 #branding img { 005 width:100%;
002 width:100% 006 } The Twenty Ten theme also features a powered
003 } by WordPress tagline that appears along the bottom
13
001 #site-description{ Tidying up that runs across the bottom of the page. We will need
002 display:none; With the previous piece of code we have to make sure that it does not overrun the edge of the
003 } found that our content and sidebar have clashed over screen. The code above will take care of this problem by
the top of each other. This is when deciding what to resizing it to the same 100% value as used before.
16Job done
size as the main frame (as per Step 8). 001 #primary{
002 display:none;} If youve made it this far well done! Your theme
001 #access{ 003 <blockquote> can now adapt to a smaller screen size. It may not be as
002 width:100%; 004 #footer{ comprehensive as a fully responsive theme but at least
003 } 005 width:100%; you now have a backup plan for browsers running on
004 #content{ 006 } smaller screen sizes.
Testing your
theme Top tip
Part of getting your mobile based
theme right is seeing what it will look If youre planning to
like on other platforms. This can be optimise your website
tricky if you dont have access to for mobile users, bear in
devices such as tablets. Fortunately mind the slower data
there are online tools that can connections they may
simulate the experience. Such be using. Try to avoid
examples include mobiletest.me or overloading pages.
responsinator.com. With these tools Compress images
you simply enter your WordPress before uploading
URL into the website and select a them.
device. You can also browse within
the simulators to see how your links
and embedded content will work.
There are also similar tools
embedded into Firefox and Chrome
which can simulate smaller screen
devices. With Firefox hold down
CTRL, SHIFT and M to activate the
feature. With Chrome press F12 and
select Emulation from the dev tool
menu (availability will depend on
whether it has been activated in dev
tool settings).
Bear in mind
the slower data
connections of <top>
sYou will need to upload your child theme
to your WordPress installation as per the
mobile users steps in our previous tutorial
<middle>
sYou can check to see if your theme is
becoming responsive by reducing your
browser window. On the left we can see
Top tip our theme resizing, on the right it is not
<bottom>
Part of optimising your sThe sidebar is crashing into our main
site for mobile is content. We either need to move it to the
streamlining the content bottom of the screen or hide it altogether
TRANSFORM HTML TO
WORDPRESS
We show you how to avoid the potential
pitfalls when transforming a HTML
mockup into a custom WordPress theme
THERE ARE MANY ways to go about designing a website in general, and a WordPress
theme in particular. A design idea can spark from something youve seen, or perhaps come
together in your mind based on your clients specifications. Either way, youll get an idea, youll
draw it out in your mind or using some sort of tool youll probably do a mockup or three,
and then start developing. Of course it usually isnt that simple. All those pesky clients have their own
ideas and want input, even though you know that you know best.
Some people think you should design in the browser, and while perhaps that might not be a universal
truth to subscribe to, it can be useful to employ it at times perhaps completely avoiding Photoshop all
together. Even among all the technology we have these days, it can be incredibly useful to do sketches
on paper before moving on to doing elements in something like Sketch. After that you can start cranking
out the markup to see how well it works in a web browser.
Thats what this is all about. Youve got an idea, a sketch, possibly a mockup, and then you write the
HTML and CSS to test everything out. Perhaps youll even use your HTML version as the client mockup,
making sure that the client actually sees what theyll get, or you do it as a part of your process. No
matter what the methods used are, should you employ the HTML mockup technique rather than just
jumping directly into coding a theme based on any PSD files, youll find that there is a lot of time to be
saved and several wins to be gained as well.
Considering this, this feature will show how to create a WordPress theme. Theres an idea,
there are sketches, there are thoughts and suggestions regarding mockups, traditional as well
as HTML based. Then theres taking an HTML mockup and creating a WordPress theme
out of it. Perhaps youve never done this before or youre a seasoned veteran who used
to and sell themes based on your PSD mockups. Either way, there might be
something in this methodology to help you improve your process.
Get some ideas colours, since we wont know what sort of background image thatll be used, but thats
a fair compromise. It does limit the use of colours on the site, especially concerning
Todays publishing landscape looks very different to how it did before blogs entered links, but the idea is to keep it muted and classy anyway. Besides, changing colours
the market. Blogs are more than personal diaries, and the concept is used on just with CSS in a child theme is simple enough, so its almost a moot point.
about every modern publication. With this, the possibility of doing a professional
publication powered by the best of the blogs has opened a lot of doors, and has given
us great sites such as The Loop (www.loopinsight.com) and SplatF (www.splatf.com).
These are modern publications using the best of the blogs, in a modern way.
Design mockups
This project will borrow heavily from this approach, but not forget about the For a client project it would be prudent to not only show off (and clear) sketches like
publishing landscapes past. In other words, the WordPress theme that youll end up these, but also design mockups. The beauty of doing an HTML version first is that
with will rely on typography and content first, but it wont be limited to personal nor it can be your mockup, and as a result, a lot more true than any Photoshop image
professional blogging as such. Not that any theme truly is of course, but themes can you might be presenting to your clients. With HTML, you can get the correct font
surely be more or less suitable for one or the other. rendering, transitional effects work as intended, the mockup will be viewed in a web
browser, and viewing it on mobile is a breeze.
Larger projects with a lot of different templates and design elements might benefit
Start sketching from having a mixture of traditional
mockups, as well as ones done in
This project started with some freehand sketches on paper, as it can be more suited HTML. You could benefit from using
to small and straightforward projects as this one. The absence of eraser tools and software that supports exporting to Top tip
layers can be a nuisance, but it can also be an asset since everything you do is HTML, which might mean youll get Be sure to clear the type
committed to paper. That fact might help you focus, but as always your mileage a near-finished HTML mockup to
will vary. work with. Do remember however,
of mockups youll deliver
The design is simple. There will be a strong yet thin frame that connects to the that exported HTML from software to your client beforehand.
various headings by underlining them. The typography is the visual element that can feature some truly awful markup, Some clients expect a
carries this design, but since WordPress supports custom backgrounds, and there is so dont always count on using that
the outer frame to part the content area with whatever background is chosen, well code. It is often best to simply write
certain type of delivery,
take that into account as well. This means that were being limited to near black border the HTML mockup code yourself, and you dont want to
making sure that, should the design get off on the
be cleared, youll have proper markup wrong foot.
Benefits of planning ahead that you can use for when the real
development gets going.
Clear for the client
Sometimes the client has a hard time visualising how a design will turn out. HTML
mockups put this to rest by inviting the client to click around in the web browser.
Its honest
Your client might love your Photoshop mockup, but when they look at it on their
Windows XP laptop, everything just looks dirty and jagged. If you show them a
HTML mockup, theyll see the real deal instead. <above> These simple sketches show the design in both a desktop and mobile state.
This will be the first phase in the process. Remember to make some notes.
Adding style to the public. This means weve gotten started, with a
folder called woi, and a copy of our style.css file, with the
which also includes sidebar.php for you. This
template tag will go into the archive templates
(including search), which are the only ones
The stylesheet, or style.css, is one of the mandatory files necessary theme declaration added up top. displaying the side column.
in a WordPress theme. Its not so different from regular The sidebar.php file consists only of the
stylesheets but for the heading, which consists of every 001 /*
minimal markup needed for outputting the
detail needed for WordPress to understand that this is 002 Theme Name: Words Of Importance
widgets in the side-column widget area, which
in fact a theme, and not just some random collection of 003 Theme URI: http://tdh.me/wordpress/
was registered in functions.php. You can do that
files. If you want, it is possible to have several stylesheets 004 Description: A clean theme meant for
with dynamic_sidebar(), and by passing the ID of
and load them as needed, but as always this should be online publishing, what else?
the widget area wanted, which is side-column,
carefully considered since it means additional requests 005 Version: 1.0
again as registered in functions.php. This means
and potentially longer loading times. 006 Author: Thord Daniel Hedengren
that the sidebar.php is pretty straightforward
This theme is called Words Of Importance, because 007 Author URI: http://tdh.me
to say the least. Note the ID for the section tag,
hopefully thats what itll be used for when released 008 */
which is hidden on smaller resolutions, and not
displaying any sidebar no matter what.
Breaking out the header and footer from the HTML While there are a number of things youll have to This only adds the support for custom headers,
mockup is mostly a matter of simply copying and change (and should add) when creating the header. youll need to actually output it in your header.
pasting it over. The only thing you absolutely must php file from the HTML mockup, two things stand out php file as well. Since the site should work and look
remember to have if you want your theme to function more than others. First, theres the title, as in the title good without a header image as well, a check to see
properly in all instances, is the wp_head() template tag title, which should change depending on where on whether there is one or not needs to be done, and
tag just before the closing head tag. There are some the site you are. then act upon that.
things that usually need to be swapped out, such as Next, theres the site title/header image feature. Compared to all this, the footer.php template is
every place where the title of the page appears (be it A header image needs uploading, which means almost ridiculously simple. The only thing you truly
the site title or just the page title) should be dynamic having to add it to the woi_setup() function created need, except your already present markup, is the
for example. Another aspect that is usually involved is in functions.php. The code will add the support for wp_footer() tag, that wraps up WordPress, much as
the menu, including the one created in functions.php, custom header images, allow them to be just about wp_head() kicked it off. Put the wp_footer() template
as well as custom headers. any size, and remove the site title output when used. tag just before the closing body tag and youre done.
All of these tags that are used to output titles, dates and whatnot are integral to the site
and at the heart of WordPress, because these are the ones that manage to actually
deliver the all-important content to your site visitors. Theres a template tag for just
about anything youll want to output, so if youre a bit uncertain, just have a quick
search for it in the WordPress Codex (codex.wordpress.org).
Make a comment
Comments are worthy of a specific mention. There used to be a time when every
site should have a comment form, but today with the widespread popularity of social
media, its obviously not that clear. A lot of popular publications, mostly niche ones,
are cutting the comment area all together in favour of communication solely through
social media. However, theres nothing that says that you cant do both.
If thats not enough, fewer sites rely on the built-in comment functionality in
WordPress, instead relying on external services such as Disqus and Facebook
comments that provide great functionality and are easy to use. These are all easy
<above> A simple post consisting of the ever-important lorem ipsum copy note how to implement as well, especially if you include the comments_template() tag in your
easily the text is lifted through imagery theme, because plug-ins can add something like Disqus through that.
Besides adding the comments_template() tag to your templates for single posts
and possibly pages, you can either create a comments.php template file with the
001 <article id=post-<?php the_ID(); ?> <?php post_class(); ?>> necessary markup for your comments, or just use a function in functions.php. For
002 <header class=entry-header> your copy-paste needs, and since you most likely will end up using Disqus anyway,
003 <p class=postmeta postmeta-single> the function for doing so can be found in the full code. Naturally, youll need to add
004 <span class=postmeta-date><?php the_date(); ?></span> • the appropriate stylings to your stylesheet to make this look any good, and you may
<span class=postmeta-section><?php the_category( ); ?></span> want to consider queueing the stock comment JavaScript as well. You can find more
005 </p> information on the queueing scripts in the WordPress codex: bit.ly/9seNB2.
Search
The search.php template is pretty handy if you
want to have a little more control of the search
result. Its basically an archive when the search
returns true, but when its not, you need to tell the
visitor something. The easiest way to do this is
<above> Add an
image, change the to add an if clause to your loop, and then being
background if you like, able to complement it with an else thats only
and get publishing its true when theres nothing to output. Also, note
as simple as that
the echo get_search_query() part, that will tell the
visitor what they searched for.
Here the front page is basically the archive template, tweak and to take care of, but those are a bit outside the
with an added widget area positioned at the top. scope of taking a simple HTML mockup and converting
404
The 404 template is one of the simplest, and
Through CSS, the site title, assuming you stick with it into a WordPress theme. One thing you should notice
hardest, ones to create. Its a template called 404.
just the text version, is larger on the front page. This is is that there are a lot of little details to take care of to
php, and its usually almost identical to a page.php
thanks to that the body_class() tag, which gives body make your WordPress theme complete, something that
template. The difference is, the message delivered
proper CSS classes for example. the front page is is easy to forget about. Remember to make sure you
when someone gets to a 404 Page Not Found
conveniently named home. leave time to address these little touches as well, before
page on the site is a static one, that (usually)
The final step for this theme would be to find out leaving a quote to your client.
resides in the 404.php template file.
where all the kinks are and adjust them, add all the If after reading this feature you are interested in
In the case of this theme, this file was created
necessary classes for image alignment and such, as well following the development for the Words Of Importance
by merging page.php and content-page.php
as run it through the Theme Check plug-in (wordpress. theme, then be sure to check in on tdh.me/wordpress
swapping out all the dynamic titles to a hard-
org/plugins/theme-check). There are some things to for links to the most recently updated version.
coded message.
Fallback
Where next? A required template file in WordPress themes is
index.php. The idea is that this is the themes last
line of defence, the template file thatll be used
The HTML mockup is now a WordPress theme, ready if no other file fits. In other words, if the theme
to use on just about any self-hosted WordPress install. Now what? doesnt have a category.php file, and WordPress
wants to render a category archive, then the
Like most themes, there are things to do. This particular plug-ins you use, some page templates for your specific
system will look for others. First itll check for
theme would do well to receive a favicon and an needs, and so on. Maybe you just dont like some minor
archive.php, the fallback for archives, then itll go
Apple touch icon, and before you launch anything you things, which could be sorted out with a child theme, or
back to index.php, the final fallback. Treat index.
should obviously have web analytics software in place. maybe you just want to fork the theme.
php that way, and make sure it returns something.
Then theres the obvious development points, such Theres always things to do, change and develop with
as featured images for the posts, individual styling for WordPress themes, for some mysterious reason. Enjoy.
There are
thousands of
plugins available
to be installed onto
your theme and
implemented
within your site
98 WordPress Genius Guide
WordPress
Genius Guide
Pro guide to
WordPress
plugins
100 WordPress Genius Guide
DISCOVER SOME OF THE BEST
ADD-ONS, AS SELECTED BY
INDUSTRY EXPERTS
WordPress
Genius Guide
Back up now
SOMETIMES THE WORST happens, and you just
wont have time to fix it. Adding too many
plugins can turn your WordPress build into a
potential game of Jenga, and sometimes the
white screen of death will rear its ugly head.
Adding a plugin? Back it up first. Updating the
theme? Back it up first. Updating WordPress to
the latest version? Back it up first. Always,
always, always back up your WordPress site
before changing anything to do with your sites
functionality, database, theme or base files.
The Duplicator plugin, found at wordpress.
org/plugins/duplicator, is a rapid-fire way to
generate a quick launching backup of all
WordPress files and your database, in a
downloadable, neatly compressed ZIP file. The
plugins very own easy-to-use interface and
download facility allow you to create a zipped
up Archive copy of your entire site and
database as well as an installer.php file that is
uploaded to your hosting accounts root folder,
along with the zipped-up back-up copy, that
installs your website to its previous location
without any fuss or hassle.
The Duplicator plugin is also great for
migrating your site to a new hosting account or
even to a new domain. When using the installer.
php file to run the installation, you can specify a
new URL for your site. Now, once youve
deployed the backup to the new hosting
account, all URLs found within the site will be
automatically updated to the new URL, meaning
all of the database data has been edited without
Add multi-language support
having to go anywhere near phpMyAdmin.
Whats more, it then gives you a handy list of
WordPress Multi Language from over 40 initial languages with the added ability to
things to check once the installation is wpml.org add your own custom language variants. An out-of-the-
successfully complete. WordPress Multi Language is an easy-to-use translation box language picker can be added to your header or
If you take nothing else from this article, this
management plugin built by a translation company. The sidebar via the plugins settings area, or you can choose
plugin should become your go-to tool for
backing up your WordPress site. plugin boasts some incredible features that doesnt just to create your own and add it to your themes template
include easy management of languages, its an all-in files where you want the picker to appear.
collection of language management tools built to work You also have the choice of how to display your
within a single WordPress install. Everything from multilingual content, such as using a different domain
Updating menus to footer credits can be translated into the per language, for example myblog.co.uk, myblog.de or
language that you want with ease with built-in support myblog.fr and so on, by using subdomains, like en.
WordPress to the latest for custom themes and even other plugins. myblog.com, de.myblog.com or fr.myblog.com, or by
The plugin comes with a great set-up wizard that using the default of keeping the multiple languages
version? Always back
takes you through the whole initial setup. Once you within the same domain.
have selected your base language, adding new Once youve selected your chosen languages, you
it up first languages can be done at the click of a button, select can then simply navigate to your pages edit screen
Chris Woodley
Lead developer
Forme Creative
02 MemberPress
memberpress.com
Need to create a membership site with paid-for content
04 WordPress SEO
yoast.com/wordpress/plugins
The only SEO tools you will need that comes with a
formecreative.co.uk
and integrated payment gateways? Then MemberPress traffic light scoring system. This plugin has a host of
HERE ARE FIVE plugins I simply could not do is the plugin that you need. It is ideal for services selling extremely useful features including content analysis
without. These plugins have become as important to digital downloads. functionality, assistance in writing better content, the
my daily workflow as Illustrator, Photoshop and option to automatically generate XML sitemaps and
Dreamweaver and are an integral part of my
Wordpress backend landscape. 03 TablePress
tablepress.org
remove code bloat.
01 Essential Grids
essential.themepunch.com
Creating tables in WordPress is not simple. It involves
adding custom code and is time-consuming. Who wants
to do that? This is a free plugin that enables users to
05 Contact Form 7
contactform7.com
This is the hassle-free option for creating simple
Highly customisable grid builder for displaying posts create and manage tables easily and quickly. A table can contact forms for file upload. Its a flexible and
with uber modern templates. Great for creating include different types of data and there is even the powerful plugin that is easy to use. Create a form, pick
portfolios, product sliders, galleries and more. option to add formulae. options and copy the shortcode to a post.
ALTERNATIVE PLUGIN
WooSlider
bit.ly/1ItYDAV
WooSlider is a simple and straightforward alternative
to Slider Revolution. WooSlider offers a slimmed-
down set of functionality with the added benefit of
Instagram slides and a carousel slideshow option.
PLUGIN PLUGIN
This is a simple, yet amazingly effective Max Mega Menu is a ready-made mega
WordPress plugin. WP Maintenance menu replacement for your WordPress
Mode is perfect for new sites not yet theme. Just drop it in and youre good to
launched with its timer count-down go. It uses a simple column system in
feature and coming-soon splash page. order to help create user-friendly and
Its also perfect for instances when you easy-to-navigate mega menus. With easy
are working on a live site if you dont CSS editing you can use this plugin and
want your visitors to see your half- customise it to complement or match
finished masterpiece. any brand or colour scheme.
PLUGIN
BuddyPress
buddypress.org
BuddyPress is the ultimate social network plugin for WordPress. With groups, private PLUGIN RESOURCE
messaging, activity streams and notifications to mention just some of the great
features this plugin offers you really dont need any other social network plugin in WooCommerce Lynda.com
order to get up and running, for any type of subject, for any number of members. bit.ly/1rUkc7M lynda.com
PLUGIN RESOURCE
Edit your
WIDGETS CAN PLAY a useful role
TUTORIAL within your website and they can be
OBJECTIVE
Make edits to widgets and
easily applied to your blog via the
plugins that feature on your WordPress Dashboard. They can be
WordPress blog
widgets &
used to add a search function, list recent posts
TIME REQUIRED and display your categories. Many themes tend
40 minutes to use the same styling rules for the widgets
within a given section. If you have a specific look
plugins
to your website you may wish to make the
widgets a bit more customised. To achieve this
you can edit the style.css file within your
WordPress installation and have it change the
appearance of your widgets.
Its also possible to edit the plugins that you
WIDGETS AND PLUGINS ARE GREAT EXTRA FEATURES TO ADD have installed. Depending on the edits you are
TO YOUR SITE. UNFORTUNATELY, THEY MAY NOT ALWAYS FIT making, this is a process that should not be
THE AESTHETICS OF YOUR DESIGN. THATS WHERE A LITTLE taken lightly. If you are not careful you could
destabilise the security of the installed plugin.
TWEAKING CAN HELP
<left>
sDevelopment tools
built into browsers
such as Chrome,
Firefox and Safari are a
useful way of locating
the code required for
working on widgets
01 Select a widget
In order to edit a widget we will need
to decide upon a widget to edit. Aside from selecting
02 Locate information
Here we are looking to modify the text within
the prologue section of our website. We need to find the
03 Create the code
Above is the code that will make the
adjustments to the text in the prologue box. Weve
the widget, we will also need to find out the name specific parts of the webpage code that relates to this set our target, in this case it is #text-2 and the changes
of the widget within the CSS code so we know how section. In this case, the text that resides within widgets are within the curly brackets. In this case it will change
to refer to it in our own lines of code. An easy way are given a specific ID (usually text- followed by a number). the colour of the text to green and display all of the text
to do this is by opening a browser such as Firefox, In our case it is #text-2 so we need to apply that in bold.
Chrome or Safari and using the develop tools to reference number within our code. When it comes to
track down the name that we require on the the examples in the following steps you will need to 001 #text-2 {
internet. This is done by right clicking on the location substitute text-2 with your own reference number, or 002 color: #58D948;
you want to inspect and selecting the relevant else the edits that you make wont apply to your 003 font-weight: bold;
Developer option. desired widget. 004 }
<top left>
s8JUIBGFX$44DPEFFEJUTXF
DBOUBLFBXJEHFUGSPNMPPLBCJU
QMBJOUPTPNFUIJOHUIBUMPPLTB
CJUNPSFTUZMJTFE
<bottom left>
s)FSFXFBSFVTJOH'JSFGPY
UPJOTQFDUUIFXFCQBHF
FMFNFOUT8FIBWFSJHIUDMJDLFE
POUIF1SPMPHVFTFDUJPO
GSPN
IFSFXFMMTFMFDUUIF*OTQFDU
&MFNFOUPQUJPO
<bottom middle>
s5IF%FWFMPQFS5PPMIBT
IJHIMJHIUFECPUIUIFDPEFJOUIF
MPXFSTFDUJPOPGUIFTDSFFOBT
XFMMBTUIFTFDUJPOPOUIF
XFCQBHFUIBUXFXBOUUPFEJU
<bottom right>
s:PVDBOBMUFSUIF4UZMFDTTJMF
XJUIJO8PSE1SFTTBOEVQEBUFJU
GSPNUIF%BTICPBSE:PVDBO
BMTPVTFBO'51VQMPBEFS
Top tip
5IJTBMNPTUHPFTXJUIPVU
<top left>
s#ZIBWJOHUIFSFMFWBOUXFCQBHFPQFOJOBXFCCSPXTFSXFDBOSFGSFTIUIFQBHFBOETFFJGUIF
DIBOHFTIBWFUBLFOFGFDU TPNFUJNFTBGPSDFSFGSFTINBZCFSFRVJSFE
<bottom left>
s6TJOH$44DPEFZPVDBOBMTPBEECPSEFSTUPZPVSXJEHFUT#PSEFSTDBOIBWFWBSZJOHMFWFMTPG
UIJDLOFTTBOEFBDITJEFDBOEJGFSJOTUZMF
<below>
s:PVDBOBQQMZBDPMPVSUPUIFCBDLHSPVOEPGZPVSXJEHFUPSBOJNBHFBTXFIBWFEPOFIFSF5IF
JNBHFIBTCFFOMJOLFEWJBBVSM
001 #text-2 { 001 #text-2 { more to the left and negative values more to the
002 background-color: #b0c4de; 002 background-image: url("https:// right. The second value is vertical placement:
003 } dl.dropboxusercontent.com/u/6726157/DEMO.jpg"); positive values place the shadow lower down
003 background-position: bottom right; whilst negative numbers move it higher up. The third
001 #text-2 {
that your text is still easy to read when imposed over changed the colour to teal, and the text is now also 002 color: teal;
your chosen image. Images can also be repeated if they centred. We have all transformed all of the text so it 003 text-align: center;
are being spread over a larger area. In the example appears in uppercase. These are very basic changes 004 text-transform: uppercase;
above the background-repeat function is repeating the but its minor customisations such as these that can add 005 text-shadow: 2px 2px 5px teal;
image in a horizontal fashion. to the whole layout of a blog. Also available but not 006 }
shown here is a text-indent tweak that can specify the
001 #text-2 {
002 background-image: url("insert weblink
here");
indentation on a first line of text (ie text-ident: 60px;).
001 #text-2 {
12 Adding extra touches
At this point our widget just needs some
final touches. The first lines are to do with padding.
003 background-repeat: repeat-x; 002 color: teal; These will insert 5px worth of space on each side of
004 } 003 text-align: center; the text column. This will stop the text from making
004 text-transform: uppercase; contact with the border on each side. The final line
inside the widget from the bottom right corner. We can to the text. It contains four values regarding 001 padding-right: 5px;
see the changes once we save the code within the editor positioning, shadow thickness and colour. The first 002 padding-left: 5px;
and refresh our view of the original webpage. value is horizontal placement: positive values place it 003 border-radius: 10px;
<top left>
s8JUIKVTUBGFXFEJUTUPUIFUFYU
GPSNBUUJOHZPVSXJEHFUDBOTUBSU
UPCFDPNFTPNFUIJOHXJUIZPVS
PXONBSLPOJU
<bottom left>
s/FXFS$44DPEJOHUPPMTTVDI
BTUFYUTIBEPXJOHNBLFJUFBTJFS
UPGVSUIFSFOIBODFBXJEHFUBOE
13 Bringing it together
Here is our final result where we have combined
the last few steps. Weve added an extra instruction at the
009
010
011
text-transform: uppercase;
text-shadow: 4px 4px 10px black;
border: 2px solid #000000;
top regarding what preferred fonts to use. Just below this 012 border-radius: 10px;
are instructions to add a little space (ie padding) to each 013 background-color: #b0c4de;
side of the column of text. This will stop the text from 014 background-image: url("https://
touching the border on either side. Theres also a little dl.dropboxusercontent.com/u/6726157/14328387394
padding at the top to centre the text vertically. Weve also _950b6ef36b_b.jpg");
chosen to add a background colour as a backup to the 015 background-position: top left;
background image, just in case it fails to load. Lastly, we 016 }
have also removed the prologue title through the
WordPress Dashboard.
001 #text-2 {
14 Editing plugins
The WordPress Dashboard has a plugin editor
which is located within Plugins>Editor, and works as a
002 font-family: Arial, Helvetica, sans-serif; simple text editor. The top right of the display has a
003 color: white; drop down menu where you can select the plugin to
004 padding-right: 5px; edit. The resulting code will appear in the main window. <above>
005 padding-left: 5px; s5IFSFBSFUPPMTJOQMBDFGPSFEJUJOHXJEHFUT,
Bear in mind that any edits to this section are lost BMUIPVHIUIFTFEBZTJUTOPUPWFSMZ
006 padding-top: 15px; whenever the plugin is updated. To that extent its not SFDPNNFOEFE*GZPVOFFEUPEPBTQFDJJD
007 text-align: center; always an advised option to directly alter the core files UXFBLUPBQMVHJOUSZBTLJOHUIFEFWFMPQFS
008 font-weight: bold; due to the security implications involved.
Protect
GETTING YOUR NEW blog out into
TUTORIAL the big wide world is exciting.
OBJECTIVE
Prevent spam comments
Unfortunately youll need to protect
from making their presence yourself from the more unscrupulous
your blog
elements of the internet, namely spam.
TIME REQUIRED
15 minutes If your blog is equipped with a comments
section you may find that it will start to swell in
size thanks to spam bots sending replies to your
blog posts. Of course, these arent the type of
from spam
comments you are looking for, and they dont
particularly add to the content of your blog.
These replies are engineered to generate mouse
clicks to not only to locations away from your
blog but also to potential online hazards. This
SET UP AKISMET TO HELP PREVENT UNWELCOME SPAM can be as much a problem for little known blogs
COMMENTS FROM TAKING UP RESIDENCE ON YOUR BLOG as well as the more commonly known online
locations. Even the biggest websites, such as
news and entertainment websites, have to deal
with spambots.
To keep these pesky spam pirates off your
site, an essential add-on to your blog is Akismet.
Spam comments are engineered This tool will block spam comments before they
even become visible. It works by checking your
to generate mouse clicks not only to incoming comments against the Askimet Web
Service. Depending on what it finds it will either
locations away from your blog but to pass the comment or contain it in a spam folder
for you to review. This way, almost no spam will
potential online hazards be able to come through without being spotted.
<left>
sA few captured spam
comments. Typical signs of
spam include dialogue
unrelated to the content,
questionable email sources,
nonsensical user names
and general poor grammar
and spelling
<top left>
sWhether youre just starting out
or a fully established outfit,
Akismet can cater to your size
and requirements with a variety
of packages and services
<bottom left>
sWordpress hosted blogs
come with Akismet as standard.
If your WordPress blog is
self-hosted you will need to
install the plugin manually
<bottom right>
sThe process of obtaining your
Akismet API key starts from your
WordPress Dashboard. Go to
Akismet entry in the plugin
menu and continue from there
Top tip
01 Download the plugin
First off you will need to install the Akismet
plugin if it is not already displayed within your list of
that is most applicable to you (most likely the Personal
option). Youll be asked to complete some minimal
contact information and also set a donation level to
You can always
avoid spam by
plugins. Click on the Plugins tab on the Dashboard donate money to the developers. Note that for personal removing the
followed by Add New. Enter Akismet into the search box accounts donations are not mandatory. comment section via
and select Search Plugins. The Akismet plugin should Settings>Discussion
and un-tick Allow
appear at the top of your search results. Select Install
now to add it to your plugin collection. 04 API key delivered
Your API key should now be emailed to the
email address you supplied in the previous step. Copy
people to post
comments on
new articles.
02 Activating the plugin
Activating the plugin is a simple as select the
Activate link underneath the title for the plugin. In order
this and go back to your WordPress Dashboard. Open
the Plugin tab and select Installed Plugins. Paste your
API Key into the corresponding box on this page. You
for the plugin to work properly you will need to obtain can also tag extra options relating to how incoming Dashboard click Settings followed by Discussion. You
an Akismet API key. Click on the link in the plugin spam is handled. can dictate whether credentials (such as an email
description titled Sign Up For An Akismet API Key. address) are required in order to leave a comment.
<top left>
s0ODFZPVIBWFZPVS"1*DPEFZPVXJMMOFFEUPFOUFSJUJOUPUIF"LJTNFUQMVHJOTDSFFOXJUIJOZPVS
8PSE1SFTTDBTICPBSE
<middle left>
s:PVDBOTFUVQJMUFSTUIBUXJMMTDSFFOPVUDPNNFOUTUIBUDPOUBJOQBSUJDVMBSXPSETPSIZQFSMJOLT*UDBO
CFBQPXFSGVMUPPMTPHPFBTZ
<bottom left>
s6TFUIF%JTDVTTJPOTFDUJPOXJUIJOUIF4FUUJOHTUBCPOUIF%BTICPBSEUPDMPTFDPNNFOUTPOPMEFS
QPTUTBOECMPDLQJOHUSBDLCBDLTUPZPVSTJUF
<above>
s$IFDLUIFTQBNQPUFOUJBMPGBSFDFJWFEDPNNFOUCZGPPHMJOHLFZQISBTFTGSPNJU*GZPVHFUNVMUJQMF
FYBDUNBUDIFTDIBODFTBSFUIBUJUTBVUPNBUFETQBN
Spam commenters are getting smarter; as a comment it will hold it for a number of days before
deleting it from your database. Some users argue that
result the comment you receive could fool you its worthwhile checking your spam page roughly once
a week to ensure the plugin hasnt pounced on
into thinking you have an inquisitive reader anything legitimate. Click on Comments followed by the
Spam link. You can hover over a comment and select
the Not Spam link to remove it from the spam queue.
07 Close comments
Within the Discussion settings section is an
option to close comments on older posts. You can
comment in the search result then chances are that you
have a spam comment on your hands.
<above>
s)PWFSZPVSNPVTFPWFSBDPNNFOUIFBEFSJO
ZPVSTQBNRVFVFUPWJFXUIFBWBJMBCMFPQUJPOT
1PTUTDBOCFEFMFUFEPSNBSLFEBTOPUTQBN
determine how long this period by setting a timeframe
in the respective menu. This can help prevent 09 Checking your spam
Once Akismet has captured a spam
Trackbacks
and
Pingbacks
Trackbacks and Pingbacks are
designed to operate as a way for
bloggers to share traffic around
related online content."USBDLCBDLJT
BLJOUPBCMPHHFSSFGFSFODJOHZPVS
QPTUJOUIFJSPXOCMPH WJBBMJOL
BOE
TFOEJOHBUSBDLCBDL5IJTXJMMBQQFBS
JOZPVSDPNNFOUTRVFVFBTB
USBDLCBDL*GNBOVBMMZBQQSPWFE
JUXJMM
BQQFBSJOZPVSCMPHBTBUJUMF
BO
FYDFSQUBOEUIFMJOLUPZPVSCMPH
1JOHCBDLTMBSHFMZXPSLJOBTJNJMBS <above>
s5IFSFJTBMTPBOPQUJPOUPWJFX
XBZCVUUIFQSPDFTTJTNPSF
UIFIJTUPSZPGBDPNNFOU5IJT
BVUPNBUFE6OGPSUVOBUFMZJUDBOCF XJMMQSPWJEFJOTJHIUJOUPXIFOJU
VTFEBTBXBZGPSTQBNNFSTUP XBTDBVHIUCZ"LJTNFU
JOJMUSBUFZPVSTJUFXJUIUIFWBHVF <left>
s$BQUDIBDBOBMTPCFBVTFGVM
QSPNJTFPGFYUSBFYQPTVSFGPSZPVS UPPMJOQSFWFOUJOHTQBN
DPOUFOU*ONPTUDBTFTUIFUSBDLCBDLT DPNNFOUT5SZTFBSDIJOHUIF
QMVHJOTEJSFDUPSZGPSTVJUBCMF
BOEQJOHCBDLTZPVNBZSFDFJWFNBZ
$BQUDIBUPPMT
NPTUMJLFMZCFTQBN:PVDBOEJTBCMF
UIFTFJOUIFEJTDVTTJPOTFDUJPOPGUIF
TFUUJOHTUBC
Top tip
5IF"LJTNFUXJEHFU
EJTQMBZTUIFOVNCFSPG
DBVHIUTQBNDPNNFOUT
"EEUIJTUPZPVSCMPHCZ
DMJDLJOH"QQFBSBODF
8JEHFUTBOEESBHHJOH
UIF"LJTNFU8JEHFU
who comment frequently. Search the Wordpress plugins
CPYUPUIFSFMFWBOU
directory for Captcha to see whats on offer.
XJEHFUBSF
001 <blockquote>
002 Your comment is currently in the
moderation queue. Please do not submit
11 Add Captcha
Captcha has been a useful tool in reducing
spam comments. It uses random images which the user
impatiently post the same comment again in the belief
that their first comment was not received. Its not
necessarily spam but it can still be a frustrating name=submit type=submit tabindex=5 value=<?php
must enter manually in order to post a comment. Whilst knock-on effect of spam management. Open your _e(Say it!); ?> /> with the code above. This will help
it can reduce spam it may also annoy regular site users comments.php file and replace the code <input manage expectations and reassure your visitors.
Increase
SEO MANAGEMENT IS one of the
TUTORIAL most overlooked parts of promoting
OBJECTIVE
Understand how different
your blog or website. Its important
SEO tools and techniques to market your site to potential visitors
can be used to increase
your site
your sites viewership via social networks and through the creation of
new content, but if you want to increase your
TIME REQUIRED viewership and bring in new viewers who you
1 hour
might otherwise not be able to access through
visits
social networks then its time to get into SEO.
There are plenty of SEO plugins available for
Wordpress. Some are very simple to use but
offer limited tools, others are highly advanced.
with SEO
The WordPress SEO plugin by Yoast is a
comprehensive SEO tool that includes a lot of
advanced features. The developer also offers a
lot of tutorials, posts and support to users
making it the perfect plugin for wrapping your
SEARCH ENGINE OPTIMISATION COVERS A MULTITUDE OF head around SEO.
<left>
sGet a better ranking
and more visits for
your site on search
engines by adding
meta data for your
posts titles and
descriptions
01SEO Plugins
If you have a working knowledge of WordPress
but are new to SEO then consider checking out some
02Dashboard The Yoast plugin dashboard provides you with
general settings for SEO management of your WordPress
03Verify your site
Click on a webmaster link below the
Webmaster Tools subheading, such as Google
simple SEO plugins. The WordPress SEO plugin by Yoast site. If you are new to SEO management then under the Webmaster Tools. You will be prompted to sign in with a
offers users more advanced options and preferences General subheading click Start Tour for a detailed walk Google account. To Verify via Google you will need to
when working with SEO on your site. In these steps the through of all the tools available in the Yoast SEO Plugin. download a HTML verification file from Google. You will
WordPress SEO plugin will be explored and explained. You can also reset all of your plugin settings from here. At then need to upload the file to your site then click Verify.
Install the plugin via the WordPress plugin tool then the bottom of the Dashboard is the webmaster tools.
activate it. The plugin will appear under the title SEO on
your WordPress toolbar.
Here Yoast has setup a selection of links that can be
followed to verify your site with various webmasters. 04Titles & Metas
From the Yoast SEO plugin click on the Titles &
<top left>
s8JUIEP[FOTPGEJGFSFOU4&0
UPPMTBWBJMBCMFUIF8PSE1SFTT
4&01MVHJOMFUTZPVNBOBHF
FWFSZBTQFDUPGZPVSTJUFTTFBSDI
FOHJOFQSFTFODF
<bottom left>
s$IFDLPVUUIFEFTDSJQUJPOTBOE
TDSFFOTIPUTGPS4&0QMVHJOTUP
HFUBOJEFBGPSIPXCBTJDPS
BEWBODFEFBDIPGUIFNBSF
<bottom right>
s5IF8PSE1SFTT4&0QMVHJO
GSPN:PBTUQSPWJEFTZPVXJUIBO
JOUSPEVDUJPOUPVSPGUIFQMVHJO
JGZPVBSFOPUGBNJMJBSXJUI
4&0NBOBHFNFOU
Top tip
*UTWFSZJNQPSUBOUUIBU
Metas tool. On this page you can adjust how titles and than date or through a sequence of numbers will ZPVUBHZPVSQPTU
meta data from your website are going to be presented help make your posts easier to find on search DPSSFDUMZ5BHTOPUPOMZ
to those viewing it from a search engine. To begin, under engines. Under the Post Types subheading you can BMMPXWJFXFSTUPOBWJHBUF
the General tab you can adjust your meta data settings. add Meta Descriptions to posts, pages, quotes, ZPVSQPTUTFBTJMZCVUUIFZ
A lot of the general settings are for tidying your sites portfolio pages and any other types of publishable IFMQNBLFZPVSQPTUT
meta data and the way that site links are presented. content. This information will appear below your post title
FBTJFSUPJOEPOMJOFWJB
For Example, checking the noindex subpages of archives in search engines, again helping to increase the your
option will tidy a URL to hide /page/2/ in the URL of ranking and show potential visitors more information
TFBSDIFOHJOFT
your site. about your site.
06Importance of titles
The proper use of titles in your posts is one of
the simplest ways of increasing your rank ship on a
Facebook page URL, then add the Front Page settings
including an Image URL, title and description. For Twitter
and Google+ add your details in each of the social 09Enabling Sitemaps
In the XML Sitemaps window check the box to
search engine. Having posts titled by their name rather networks subheadings. enable XML sitemap functionality. From now on any
<top left>
s5IFNPSFJOGPSNBUJPOZPVQSPWJEFJOUIF5JUMFT.FUBTXJOEPXUIFNPSFEFUBJMTXJMMBQQFBSPO
TFBSDIFOHJOFSFTVMUTGPSZPVSTJUFBOEQPTUT
<bottom left>
s4&0JTOUKVTUBCPVUQSPNPUJOHZPVSTJUF
JUTJNQPSUBOUUIBUQFPQMFJOEUIFTPDJBMOFUXPSLTXIFSFZPV
BSFQPTUJOHZPVSMBUFTUVQEBUFTUP
<below>
s,FFQZPVSXFCTJUFVQUPEBUFUPIFMQJUBDIJFWFBCFUUFSSBOLJOTFBSDIFOHJOFT5IF9.-TJUFNBQ
FOTVSFTUIBUVQEBUFTBSFBMXBZTSFHJTUFSFECZTFBSDIFOHJOFT
10 Tidying permalinks
Under the SEO Permalinks subheading you can
12Inserting breadcrumbs
A PHP code is provided at the bottom of
the page for you to insert into your theme, so that
setup the plugin how you want it for your site, its settings
can be easily applied to other sites, with only a few minor
tweaks needing to be made to suit each individual site.
activate or deactivate a selection of permalink settings breadcrumbs will appear at the top of your posts. A plugin
that can help to tidy your sites permanent URLs for posts
and pages. Before changing permalink settings within
the Yoast Plugin open your WordPress settings and click
from Yoast called Yoast Breadcrumbs is also available for
you to install breadcrumbs into your site if you are not
code savvy. For more details on how breadcrumbs work
15Re-importing data
Under the export subheading click Import
Settings. A zip file titled settings.zip will be downloaded.
Permalinks. Here its advised by Yoast that you select in WordPress and with the Yoast SEO plugin visit Upload the zip file to your FTP. Install the WordPress SEO
either Post name or Custom Structure for your post URLs. yoast.com/wordpress/plugins/breadcrumbs/ for a plugin on another WordPress site then re-visit the Import
This approach makes your posts more timeless, as the tutorial on inserting breadcrumbs into your sites theme. & Export window. At the bottom of the page click Import
URL title refers to the post title rather than the date it was settings. The settings.zip file will be imported and its data
published. Return to the Yoast SEO Permalinks window to
then select your preferred permalink settings. 13Importing SEO data
If you have dabbled in SEO plugins previous to
will be applied to the plugin.
11 Breadcrumbs settings
Breadcrumbs refer to the displayed path in which
using Yoasts SEO plugin then you may have a collection
of SEO data that you want to import into the WordPress
SEO plugin. Open the Import & Export window in the
16Bulk Editor
One of the newest features of the plugin is the
Bulk Editor. From here you can access and edit all of your
a visitor has taken to get to a post. This path is normally plugins sub-menu. Check the box next to the name of sites posts. You can also quickly create Yoast SEO titles
visible at the top of a site. A typical Breadcrumb would one of the compatible plugins that you want to import for all of your posts using the text box provided next
be Home>Blog>Blog title. The Breadcrumb settings data from, then click Import. to each post URL. Bulk editing can be performed with
can be found under the Internal Links window in the titles and descriptions of posts. Switch between titles and
SEO sub-menu. Under Breadcrumbs settings you can
enable breadcrumbs and adjust the layout of your sites 14Export SEO data
In the Import & Export window you can also
descriptions at the top of the Bulk Editor window.
The basics
of SEO
Once the WordPress SEO plugin has
been installed you will find a panel for
it at the bottom of any new post that
you create. In this panel you can add
details to your post to help its online
presence. You will also be provided
with a preview of the post as it would
appear on a search engine. Add
keywords and an SEO title as well as a
Meta description. Once youve added
these details click on the Page Analysis
subheading. Here you will be able to
see the strengths and weaknesses of
your post in relation to its SEO
potential. If you would like to, make
some changes to the post. This could
get you more green circles in the Page
Analysis. Use the Advanced
subheading to add more information
such as Breadcrumbs title and Sitemap
options. Finally, use the Social
subheading to create meta data for
both Facebook and Google+ updates
linking to the post.
Add a Social
THE USER BIO of any WordPress site
TUTORIAL is an important part of your website
OBJECTIVE
Insert a detailed Author Bio
or blog. It provides viewers with details
section to your website or as to who has created the post and
blog, featuring an avatar,
author bio
bio and social links. makes it easier for those who want to follow your
site to connect with you via different social
TIME REQUIRED networks. When creating blog posts in WordPress
15 minutes
your post will be accompanied with information
on the person who created the post. Details on
ADD PRE-SET AND CUSTOM LINKS TO ALL OF YOUR DIFFERENT the poster can be created with the User tool in
SOCIAL NETWORKS AND SITES TO AN AUTHOR BIO WINDOW WordPress. Here you can create new users and
include bio information and an avatar image. With
THAT WILL APPEAR AT THE BOTTOM OF YOUR WEBSITES PAGES the Social Author Bio plugin you can fully
AND POSTS customise your bio information providing viewers
with quick links to your social networks. You will
also be able to create custom links to any website
of your choosing.
<left>
sThe Social Author Box will
appear at the bottom of
any posts or pages that
you include it in, linking to
the authors social media
pages and sites
Install the plugin then activate it. The Plugin will appear
with its own icon in your WordPress toolbar. The Social
your posts then preview a post to see how it looks.
04 Add the code
Now we know what changes we are making
Author Bio plugin is broken up into three sub-sections.
General, Custom Links and Advanced HTML/ Style. 03 Use Shortcode
Selecting the Shortcode option allows you to
copy and paste the provided shortcodes into pages and
we need to add them to the Style.css file of our child
theme. Above is how the entire section of text should
look within the file. Note that the changes to the text
02 General Settings
Open the plugins general window. Under the
When to Display Social Author Bio subheading select
posts that you want to include the bio information. Two
Shortcodes are provided, one of just the bio and one
that includes all selected social links. The added benefit
have been added below the @import line. Either we can
edit the file locally and upload it via FTP or open
Appearance > Editor from the WordPress Dashboard
where you want the Bio to be displayed. The Bio will of working with shortcode placement for your bio is that and add the code below the @import line.
<top left>
s5IFPluginQSPWJEFTBOFX
TFDUJPOUPUIF:PVS1SPJMF
XJOEPXXJUIJOUIF6TFSUPPMPG
8PSE1SFTTUPJOQVUMJOLTUPZPVS
TPDJBMTJUFT
<bottom from left>
s5IF4PDJBM"VUIPSBJPDBOCF
BEEFEUPQPTUTBOEQBHFT
FJUIFSCZTXJUDIJOHJUPOJOUIF
(FOFSBM4FUUJOHTPSVTJOHUIF
QSPWJEFETIPSUDPEF
s#ZDSFBUJOHDVTUPNTPDJBMMJOLT
ZPVDBOMJOLUPBOVOMJNJUFE
BNPVOUPGTJUFTGSPNZPVS4PDJBM
"VUIPS#PYBOEVTeZPVSPXO
QSFGFSSFEJDPO
s6TJOH"EWBODFE)5.-4UZMF
PQUJPOTXJUIZPVS4PDJBM"VUIPS
#JPZPVDBONPEJGZFWFSZQBSUPG
UIFCJPTMBZPVU
sTIFTPDJBMMJOLTEJTQMBZFEPO
ZPVS#JPDBOCFSFQMBDFEXJUI
VQUPEBUeWFSTJPOTWJB'51
05 Custom Links
Returning back to the Social Author Bio plugin
open Custom Links to create your own custom links to
you can edit the HTML code for your Social Author Bio
plugin, changing the layout, ordering and arrangement
of information that is displayed. You can also edit the
More author
sites that you want to appear. Add a link name and
Image URL as well as prepend URL text and Append
style of the bio manually. tools
5IFSFBSFQMFOUZPGPUIFSBVUIPSTFUUJOHTBOE
URL text if necessary. You can add up to ten custom
social links, and remember to click Save Changes. Keep
in mind that the image URL provided will appear in full
08 Match your theme
In the Advanced HTML/Style window
scroll down to the Edit Style for Social Author Bio
QMVHJOTBWBJMBCMFXJUIin8PSE1SFTT5IF"VUIPS
*NBHFQMVHJOBMMPXTGPSFBTZSFQMBDFNFOUBOE
VQEBUJOHPGUIFJNBHFBTTPDJBUFEXJUIFBDI
size so you will want to use 32x32 pixel images to keep HTML window. Adjust the font weight and size as DSFBUFEBVUIPSPOZPVS8PSE1SFTTTJUF5IF"VUIPS
with the continuity of the pre-set social link thumbnails. you like to match your current theme. In the 3FDFOU1PTUTQMVHJOXPSLTBTBnFNCFEEBCMF
HTML window go to the Bio Socials area to modify XJEHFUUIBUXJMMEJTQMBZBMMPGUIFMBUFTUQPTUTGSPN
Build a
SLIDESHOWS ARE ONE of the
TUTORIAL easiest assets to add to your
OBJECTIVE
Install a WordPress
WordPress website. They can be
slideshow gallery plugin used in a variety of different ways
WordPress
so that you can Link to blog
posts and pages or create depending on how you want to utilise them.
a gallery of images on your Slideshows can hold a series of high-res images
webpage, creating a visual
navigation tool for you, working as an interactive portfolio of
your work. This is especially useful for designers,
TIME REQUIRED
slideshow
artists and photographers. A slideshow can
10 minutes
also work as a great header to your site or
blog, displaying header images for your latest
blog posts. If you know exactly how you want
to use a slideshow in your site then it is worth
INSTALL A WORDPRESS SLIDESHOW GALLERY PLUGIN SO THAT finding a plugin that is specific to your needs.
YOU CAN LINK TO BLOG POSTS AND PAGES OR CREATE A However, there are a lot of general slideshow
GALLERY OF IMAGES ON YOUR WEBPAGE, CREATING A VISUAL plugins to choose from. In the following steps
you will learn how to embed a slideshow gallery
NAVIGATION TOOL
into your site.
<left>
sThis is a much more
minimalist approach
to a slideshow, taking
away navigation
control. A link icon
appears in the image
when hovered over
<top>
sEvery time you create a new
slide (which contains one image)
it will appear in the Slides
manager window listed in the
same way that blog posts are
<bottom left>
sEvery gallery comes with a
short code that can be copied
and pasted into a post or page
in WordPress
<bottom right>
sIf you are using the slideshow
as a header for your site consider
adding a short description to
each of the images used in
your slideshow
Top tip
By default your slideshow
01 Slideshow plugins
In WordPress go down to the Plugins
tool from the tool bar and click Add New. Search
slideshow with ten images you will need ten slides. One
image per slide.
will be set to a black and
white colour scheme. Go
to the Appearance &
Gallery Slideshow in the search bar. There are
hundreds of Slideshow plugins to choose from,
each offering different tools and options. Browse
04 Working with Galleries
The second tool youll be using to create
your slideshow is Galleries. Each slide that you create
Styles subheading in the
Configuration window to
add new colour codes to
through the details on each plugin to find one that must be associated with a gallery within the plugin. your slideshow.
suits your needs. Once youve associated multiple slides to a gallery you
can then paste a galleries PHP code into a post, page
<left>
s#ZBUUBDIJOHMJOLTUPFBDIPGZPVSTMJEFTIPXJNBHFTZPVDBOBMMPXWJTJUPSTUPOBWJHBUFZPVSTJUF
UISPVHIUIFTMJEFTIPX
<below>
s5IFDPOJHVSBUJPOTFUUJOHTBMMPXZPVUPDPOUSPMFWFSBTQFDUPGZPVSTMJEFTIPX#ZEFGBVMUZPVS
TMJEFTIPXXJMMNPWFCFUXFFOJNBHFTBVUPNBUJDBMMZ
<above>
s1SFWJFXJOHZPVSTMJEFTIPXJOBQPTUXJMMIFMQHJWFZPV
BOJEFBPGUIFGPSNBUUJOHPGZPVSJNBHFT
XIJDIDBOCF
BEKVTUMBUFS
08 Image upload
Images can be imported straight from your
computer or through a URL. The Slideshow plugin does 10 Order your slides
If your slideshow is working correctly return
you can adjust the positioning, size and opacity of your
thumbnails. Use of thumbnails depends on what you
not use the WordPress media tool to import images so to the Manage Galleries window. Hover over your
you cant access images already stored in your media gallery title then click Order Slides. In this window you
library other than adding the images URL. Finally click can arrange your slides by dragging and dropping
Yes under the Use Link subheading if you want to link them in the order that you want all of your images to
to another webpage from this image. Links can be appear in.
opened in the current window or in a new window. Click
Save Slide. Repeat this process for as many images as
you want to include in your post. 11 Configure your slideshow
Under the Slideshow plugin in the tool bar click
Configuration. In this window you can effect and modify
want to use your slideshow for. If its to exhibit making sure that an image is seen in full without
photography then Thumbnails are a great way to allow being cropped.
people to navigate between images. If your slideshow is
to be used as a header to preview sections of your site
you may want to turn off thumbnails and just give users
navigational control.
14 Fixed slideshows
Selecting a fixed layout for your slideshow will
fix the dimensions of a slideshow to a set pixel height
and width, which you can determine under the
Formatting 13 Responsive
slideshows
Appearance & Styles subheading. If you are using a
slideshow to preview posts or pages on your site then a
Top tip Under the Appearance & Style fixed slideshow is advised. Ideally you will format all of
images Under the Appearance & subheading you will want to
use either a responsive or
the images in the slideshow to the same size to create a
more visually appealing slideshow. The default size of
For the most high quality gallery Style subheading select
fixed layout depending on the fixed slideshow is 450x250px, creating a web
slideshow you should format your Responsive in the
your image types. A banner sized slideshow. Play around with dimensions
images first. The slideshow plugin will Confriguration window for
responsive slideshow will and preview them to see what works for you.
accept different image sizes and the quickest and tidiest
adjust its dimensions
formats, however you may find some slideshow setup. Next to
inconsistency between images as the
slideshow slides between images.
Resize Images select No
then choose a gallery
according to the size of an
image. You can select the
height of a slideshow in
15 Media slideshow
Search for the GMedia Gallery plugin in the
Add New window from the Plugin section of the
Within the configuration window of width and height that
pixels or percentage and WordPress toolbar. This plugin allows you to create
the plugin you can set your slideshow suits your site.
switch on the Auto Height tool to slideshow galleries for all forms of media including
to adjust its size for each image. This
adjust a slideshow to accommodate video and audio files. With GMedia you can embed
means that each image will be
the height of each image. A responsive videos from sites like YouTube or SoundCloud and
presented as is, although there will be
slideshow is useful when exhibiting photography, implement them in a slideshow layout.
no continuity between photos. Using
simple photo editing software such as
Photoshop, or a browser based editor
like pixlr.com, crop your images down
Using simple photo editing software such as
to the same size, quality and image Photoshop, or a browser based editor like
format. In this example the image has
been cropped down to a banner size, pixlr.com, crop your images down to the same
perfect for the header of your site.
size, quality and image format
<left>
sThere are WordPress
plugins for all kinds of
gallery slideshows
allowing you to
include media such as
audio tracks and video
Schedule TUTORIAL
OBJECTIVE
Schedule posts with the
Editorial Calendars easy to
use interface
THE EDITORIAL CALENDARQMVHJOCZ
$PMJO7FSOPOQSPWJEFT8PSE1SFTTVTFST
XJUIBOFBTZUPOBWJHBUFTDIFEVMJOHTZTUFN
UPIFMQZPVXJUINBOBHJOHZPVSCMPHT
posts
where the Editorial Calendar plugin really comes in
handy. With its Calendar layout you can easily drag and
drop posts into the calendar to determine when theyll
be published, as well as being able to go into posts to
edit them from the plugin. The Editorial Calendar makes
it easy for you to amend and review your publishing
dates for posts within your WordPress blog.
SCHEDULE THE TIME AND DATE FOR POSTS WITH
THE WORDPRESS EDITORIAL CALENDAR PLUGIN. USE
THE EDITORIAL CALENDARS SIMPLE DRAG AND DROP
INTERFACE TO SCHEDULE POSTS EASILY
<above>
s%BZTUIBUIBWFBMSFBEZQBTTFEXJMMCFTIBEFEJOHSFZ4JNQMZESBHBOEESPQBQPTUUPBEKVTUJUTTDIFEVMFEQPTUJOHEBUF5IFQPTUXJMMCFVQEBUFEBVUPNBUJDBMMZ
<top left>
Top tip
"MUIPVHIUIFDPOUFOUUFYUCPY
s:PVXPOUCFBCMFUPESBHBOEESPQQPTUTUIBU
IBWFBMSFBEZCFFOQVCMJTIFE
CVUZPVDBOTUJMMFEJU JOUIF$BMFOEBSQPTUDSFBUJPO
UIFJSTDIFEVMFBTZPVOPSNBMMZXPVMEJOB XJOEPXJTNVDINPSFMJNJUFE
8PSE1SFTTCMPH
UIBODSFBUJOHBOPSNBM
<top right>
s6TJOHUIF&EJUPSJBM$BMFOEBS2VJDL&EJUUPPM
8PSE1SFTTCMPHZPVDBOQBTUF
QSPWJEFTZPVXJUIBOFBTZXBZUPFEJUBQPTU TIPSUDPEFBOE)5.-JOUPUIF
XJUIPVUIBWJOHUPMPBEJUVQUISPVHIUIF8PSE1SFTT DPOUFOUCPY5IJTJTVTFGVMJG
QPTUXJOEPX
ZPVIBWFQSFTFUDPEJOHGPS
<left>
s6TFUIF&EJUPSJBM$BMFOEBS4DSFFO0QUJPOTUP FWFSZQPTU
BEKVTUUIFMBZPVUPGZPVSDBMFOEBSBOEUIFEFUBJMT
QSFTFOUFEBMPOHTJEFQPTUTXJUIJOUIFDBMFOEBS
03 Editing a post
Hover over any post that is displayed in the
Editorial Calendar. A sub-menu will appear with the option to
click New Post to open the Quick Edit window for a new
post. Creating a new post in the Editorial Calendar is more
limited than building a post in the WordPress post window,
IBTQPSUGPMJPJUFNTUIBUBSFPSEFSFE
CZEBUFUIFOUIF&EJUPSJBM$BMFOEBS
DBOCFVTFEBTBXBZPGFEJUJOHBOE
Edit, Quick Edit, View or Delete the post. By clicking Edit you however you can quickly add text content and setup a BSSBOHJOHZPVSTJUFTQPSUGPMJPJUFNT
will be taken to the WordPress Post edit window. The scheduled posting time through this window. +VTU7JTJUZPVSUIFNFTFUUJOHTUP
NBLFTVSFUIBUDPOUFOUJTEJTQMBZFE
Editorial Calendar has its own Quick Edit floating window
JOEBUFPSEFSUIFOZPVDBOQSJPSJUJTF
that will appear when using the Quick Edit tool. In the Quick
Edit window you can edit a posts title, content, posting time
and status.
07 Saved calendar posts
Under the content box select a time either in AM
or PM and then a status. Either select Draft, Pending Review
ZPVSQPTUTBOEQPSUGPMJPTXJUIJO
ZPVS$BMFOEBSUPEFUFSNJOFXIBU
DPOUFOUBQQFBSTXIFSFPOZPVSTJUF
or Scheduled. Then click save. Once a post has been created :PVDBORVJDLMZMJOFVQBMMPGZPVS
04 Adjusting posts
If a post has not yet been published you can click
and drag on it within the calendar. Drag the post to the date
within the calendar it will display its current status, showing
you if it is a draft, pending or scheduled post. Once the time
and date arrives that the post is setup to be published on it
QPSUGPMJPQPTUTJOBTJNQMFPSEFS
POFQPTUQFSEBZUPPSEFSBOE
BSSBOHFUIFN
that you want it to be published on. You can then use the will then be made live on your site.
Top tip
By adding
individually coded
elements to your
site, you can make it
stand heads above
the rest.
TIME REQUIRED
1 Hour 30 Minutes
backgrounds
ADDING A SPECTACULAR VISUAL EFFECT TO YOUR WEBPAGE WILL DRASTICALLY IMPROVE
YOUR VIEWERS EXPERIENCE, AND HERES HOW YOU CAN DO IT
ZURICH-BASED CREATIVE AGENCY Hinderling excels is in combining these techniques and integrating them into
Volkarts tag line is Integrated at heart and its work the story that it is telling on its clients behalf. This is a website that
for Swiss International Air Lines showcases the demands to be explored; it puts you in the shoes of their pilots,
agencys commitment to this philosophy in action. You aircrew and passengers. It tells the stories that help express the
will have seen many of the effects used here before, from parallax values of the airline in such a way that you become fully immersed
backgrounds to fullscreen video, but where Hinderling Volkart in the world Hinderling Volkart has created: the World of Swiss.
Top tip
Available from github.
com/Prinzhorn/skrollr,
Skrollr is a standalone
library and, at around 12kb
2
minified, wont keep your
users waiting. It defines
animations and takes
care of vendor
prefixes.
1
3
2
and which techniques will best support that.
01 HTML first
Skrollr animates your page elements when you
assign data attributes to them and specify the animation
shorthand for saying keep things as they were at the
previous scroll point.
state that is required for a particular scroll point. The simplest 001 <div id=transform data-500=
task to set up is any parallax background you may require. transform:scale(0) rotate(0deg);
Skrollr can handle any size of graphic, including tiled and data-1000=transform:scale(1)
01 Clouds
non-tiled images. rotate(360deg);opacity:1; data-
1600= data-1700=transform: This is one huge tile at
001 <div id=bg1 data-0=background- scale(2) rotate(0deg);opacity:0;> 1500x900px but it weighs in at just 38kb. Its
position:0px 0px; data-end= 002 <h2>Parallax</h2> starting to look artefact-y, but if site visitors
background-position:-450px 003 <p>Is only part of it</p> are looking closely at your backgrounds
-10000px;></div> 004 </div> then its likely you have more important
002 <div id=bg2 data-0=background- 005 issues to deal with.
position:0px 0px; data-end=
04 Content blocks
background-position:-250px
-8000px;></div> Skrollr also handles content blocks and here the
003 <div id=bg3 data-0=background- content is brought into view as the scroll continues, made
position:0px 0px; data-end= sticky for a few hundred pixels before then scrolling up
background-position: 0px -6000px and off screen again. Skrollr will handle multiple animations
;></div> concurrently and the range of effects that is achievable is
virtually unlimited.
02 Animated <div>s
You animate an element by specifying its position 001 <div id=properties data-1700=
02 First background
on screen at the first scroll point: here 30% from the top at top:100%; data-2200=top:0%;
scroll point 0 (the top of the page) and the final position: top data-2300=display:block; data- This background needs to be a
0% (top of the page) then the page has scrolled up 500px. 2500=top:-100%;display:none;> 24-bit PNG to enable the transparency and
You can also apply many other transformations. Here, the 002 <h2>Total control</h2> quality the format provides. As well as the
opacity of the <div> changes from 0.7 to 0 as the page 003 <p>Anywhere on the page</p> balloons scrolling, Skrollr enables
scrolls up. 004 </div> transformations along the X-axis, which
helps to reduce the appearance of
05 No surprises in CSS
001 <div id=intro data-0=opacity:0.7; uniformed repetitive tiles.
top:30%; data-500=opacity:0; top:0%;> The CSS is all standard stuff. When using multiple
002 <h1>Multiple Moving layers youll need to use z-index to keep your layers in order
Backgrounds</h1> and thats really all there is to it. However, if you want to
003 <h2>Using Skrollr</h2> stand out from the competition, this tool is so easy to use
004 <p class=arrow>W</p> that youll need to work especially hard to create something
004 </div> fresh and original.
03 Flying in
001 #intro {
To create a relatively complex animation using 002 position:fixed;
these tools is quite straightforward. This animation makes 003 left:50%;
03 Second background
the <div> appear from nowhere (scale 0) and do a 004 width:500px;
360-degree rotate. Once the user has had the chance to 005 margin-left:-266px; A little trial and error is necessary
read the content, it continues to fly towards the user (scale 006 background: rgba(255,255,255,0.7); to balance the relationship between the
2), spinning round again and disappearing into thin air. Not 007 text-align:center; backgrounds but dont get too carried
bad work for three or four data statements. The empty 008 z-index:49; away fine-tuning, as the relationships will
specification in data-1600 is a code-efficient useful 009 } tend to shift in different-sized viewpoints.
Create an TUTORIAL
OBJECTIVE
Create an animated
logo for your website
using CSS3
CREATING ANIMATIONS USING CSS3 is
becoming more and more popular
because of the ease of use and the
browser support the new properties
animated
now have. Also, as interactive projects get more
TIME REQUIRED aggressive and mobile devices are now a priority,
1 hour
performance has become increasingly important.
Animating the scale, rotation, and position of an
logo using
element is now common. In CSS, theyre all
crammed into one transform property, making
them impossible to animate in a truly distinct way
on a single element. For example, what if you
wanted to animate rotation independently, with
CSS3
different timings and eases? The @keyframe rule
lets authors control the intermediate steps in a CSS
animation sequence by establishing keyframes (or
waypoints) along the animation sequence that must
be reached by certain points during the animation.
This gives you more specific control over the steps
ADD ANIMATION TO SIMPLE DIVS USING CSS3 KEYFRAMES of the sequence.
AND TRANSFORMS In this tutorial, we look at using keyframes
combined with other animation properties, such as
translate, transform and transition, and create an
animated cube you could use as a logo for your site.
01 New HTML document that to give us even more control on positioning any 006 <div class=side></div>
The first step is to create a new HTML5 elements within. 007 <div class=side></div>
document and call it index.html and then add in the 008 </div>
meta data, which includes the viewport meta name. The 001 <section id=wrapper>
06 Cube content
viewport meta tag is added just in case we want to 002 <div class=cube-wrapper>
make our page responsive. And lastly we can add in our 003 </div> Having added our side divs in the last step,
link to our style sheet. 004 </section><!-- END wrapper --> we now need to add an extra class to each one. As
you can see each new class represents the side of
04 Logo text
001 <meta name=description content=Animated that cube. Then lastly we want each side to show
Logo using CSS3> Adding in the HTML for our logo is going to be some text within and the only sides we wont be
002 <meta name=viewport content=width= pretty straightforward as all we are going to do is add in seeing as the cube spins are the top and bottom, so
device-width, user-scalable=no> a div with a class name of logo_text. And then within that leave those empty.
003 <!-- css --> we will add an h1 tag and use a span tag with a class
004 <link rel=stylesheet href=styles.css> name of green to wrap around the first word, so we can 001 <div class=cube>
then give it a green colour using CSS. 002 <div class=side front>CSS3</div>
02 Google fonts
003 <div class=side back>HTML5</div>
Even though were not going to be using a 001 <div class=logo_text> 004 <div class=side top></div>
large amount of text, its still a good idea to pick the font 002 <h1><span class=green>iCube 005 <div class=side bottom></div>
that we think would enhance the style of our logo and </span> Designs</h1> 006 <div class=side left>Wordpress</div>
what better way than to use Google fonts (www.google. 003 </div> 007 <div class=side right>Graphic Design
com/fonts) to accomplish this. Simply enough we just </div>
<top left>
s/PXUIBUXFIBWFBMMUIF
)5.-DPNQMFUFE
XFBSFMFGU
XJUIKVTUUIFCBSFCPOFTPG
PVSQSPKFDU
<top right>
s5IFJSTUCJUPG$44IBTOPX
CFFOBEEFEXJUIPVS
(PPHMFGPOUBOE
CBDLHSPVOEDPMPVSDMFBSMZ
CFJOHTFFO
<bottom left>
s8JUIUIFJSTUBOJNBUJPO
TFRVFODFBEEFE
XFDBOTFF
UIFDPOUFOUTQJOBSPVOE
<bottom right>
s/PXUIBUXFWFBEEFE
TPNFTUZMFTUPUIFTJEF
QBOFMT
UIJOHTBSF
UBLJOHTIBQF
Top tip
004 } 003 from { -webkit-transform: rotateY(0); } 5IFAQSFTFSWFEWBMVF
005 #wrapper { 004 to { -webkit-transform: EFUFSNJOFTJGUIBUFMFNFOUT
006 width: 900px; rotateY(360deg); } DIJMESFOBSFQPTJUJPOFE
007 margin: 100px auto; 005 } JO%TQBDFPS
008 }
MBUUFOFE
08 Cube perspective
The cube isnt a cube until we give it some
10 Spinning the cube
Now that we have set the starting point
and finishing point of our spin animation sequence, 001 /* cube sides */
perspective, and we can do that by targeting the we can add that to our cube using animation: spin 002 .side{
cube-wrapper class. We first set its positioning to and set its speed to four seconds and make it infinite. 003 position:absolute;
relative and then we give it some perspective. One thing to remember is the keyframe identifier 004 width:200px;
can be called anything you want, weve called it 005 height:200px;
001 /* cube wrapper */ spin so we then know what that animation identifier 006 display:block;
002 will do. 007 background:rgba(255,255,255,0.1);
003 .cube-wrapper { 008 box-shadow:inset 0 0 30px
004 position:relative; 001 .cube { rgba(0,0,0,0.2);
005 -webkit-perspective: 500; 002 position: relative; 009 font-size:20px;
006 -webkit-perspective-origin: 50% 100px; 003 margin: 0 auto; 010 text-align:center;
007 } 004 width: 200px; 011 line-height:200px;
008 005 -webkit-transform-style: preserve-3d; 012 color:rgba(0,0,0,0.5);
006 -webkit-animation: spin 4s infinite 013 text-transform:uppercase;
18 Blinking cursor
001 .right{ 003 -webkit-transform-origin: top center;
002 -webkit-transform:rotateY 004 } Now that we have the typing animation
(-270deg) translateX(100px); sequence set we need to create a blinking cursor
end of the same rule as in the last step (.logo_text) The be the most semantic, it hopefully shows how simple it
values we have set here allow us to control the speed of can be to bring almost anything on the page to life using
our animation and how many steps it will go through, so CSS. So go forth and animate! We use the same
in our case the number of characters which is 13
(including the space in between the words). set of properties and
001 -webkit-animation: typing 2s steps
(13, end),
values as our right-
002
003
blink 1s step-end infinite; sided CSS rule, but
004 } we use a positive
and negative
22 Finishing off our logo
To give our logo text a bit of colour, were going
to target the <span> tag we added with the class name accordingly
WordPress Genius Guide 133
Customisation
TIME REQUIRED
THE RIGHT FONT CAN BE THE ICING ON YOUR WEBSITE CAKE. CHOOSING WHICH
IS BEST, AND HOW TO ADAPT ITS LOOK, IS VITAL TO ANY WEBSITE
WHEN TYPEFACES ARE the very change them and see them in action
nature of your business, such as with
Font Font, who design and produce
before purchasing the associated
type. Users are able to get as
Top tip
some of the best typefaces in the creative as they want with all the
Type geeks may spot Eric
industry, then your site must show these off in possibilities at hand, and the site
Spiekermann in the video of
all their glory. The ffmark.com site has some offers a great source of
ffmark.com who is a
lovely touches on the website, such as being able inspiration. This site really shows
self-pronounced typophile
to edit type on books, page layouts and even off the rich typography that is
and one of the worlds
with a world clock. Not only does the user have now available for all web
leading experts on
the ability to edit these typefaces but they can designers to use today.
typography.
1 2
Info button Keep the focus Fixed and fading More to explore Try it yourself
The info button contains The main headline of As the user scrolls down The arrow at the bottom of Once the user scrolls
instructions to scroll down the site is in focus while the page the text and the screen is essential in down the page, other
just in case the user doesnt the remaining text and video remain fixed in allowing the user to know content becomes
understand the arrow. The the background, which place but the headline that there is more content available with more
icon is kept consistent is a video, is blurred so starts to fade out, while below. This is always interactive features that
with site branding and the that the user cannot see the other text and video particularly useful when enable the user to try
social icons the content fade into focus the video fills the full screen out the typography
2
backgrounds to your sites.
document or in a separate CSS file. Here we are making 001 <div id=intro>
the font weight bold and increasing the default size of 002 <div class=top data-0=color:
001 #intro {
04 The remaining text
The first text will blur out as the user scrolls
and the next text will become sharp. We are doing this
it will be displayed on its own page, save this
page in order to save the SVG image.
002 position: fixed; by setting a 32px text-shadow blur at 0px scroll, while at
003 width:80%; 1000px scroll we change the text-shadow blur to 0 so
004 left:50%; top:1em; no blurring at all. We then hide the original text so that
005 margin-left:-40%; we can only see the text shadow.
006 padding:2em;
007 text-align:center; 001 <div data-0=color: transparent;
04 Finishing touches
Download the Scrollr library from GitHub and
move the dist folder into your local folder. Then, before
closing the body tag, add the code shown below to link
up the library and start it all up. Now save the document
and view it in the browser to see everything in action.
Build circular
on-hover navigation
IMPLEMENT A MINIMALIST GEOMETRIC DESIGN WITH ON-HOVER EFFECT FOR EASIER SITE Inside content
The navigation items
NAVIGATION, AS INSPIRED BY HENGE07.COM/TRAVEL are made as regular
HTML containers, so
any content type can
be inserted like images
Animation trigger
The animations on the
page are triggered when
the user hovers the mouse
cursor over one of the
navigation items
Circular shape
The circle shape of the
items is achieved by using
a border radius of 100 per
cent, enabling any sized
circle to be made
TUTORIAL SOME TYPES OF navigation design are is used to define an animation transition for an opacity
OBJECTIVE intended to be highly noticeable. In the case of one second for later CSS states.
Create animated hover of the inspiration for this tutorial, it is clear that
effects to make menu
elements stand out
TIME REQUIRED
the navigations purpose is to present itself in
a way that directs the user straight to a specific part of
the website. This type of navigation is ideal for areas of a
05 Navigation interaction
The circular navigation items should fade to
become semi-transparent when the user hovers over an
1 hour
website that different types of visitor are accessing by item that isnt being selected. This is achieved in two
making it clear where the information of interest can be stages the first defines all navigations to have a quarter
found. This approach to website design can be highly opacity, then the second stage will select the item to
useful for projects that rely on making enquiries or sales have full opacity.
conversions from users who have never previously
visited the website. In these scenarios, users who dont 001 nav:hover a{
immediately see what they want are more likely to click 002 opacity: 0.25;
on the back button, meaning that the website has failed 003 }
to achieved its purpose. The consequences of these 004 nav:hover a:hover{
bounces can be costly in terms of lost opportunities to 005 opacity: 1;
produce conversions and actual cash expenditure. The 006 }
ability to present clear options doesnt have to be
restricted to multipage websites the same concept can
also be used to navigate to sections on the same page.
Just use ID names for page content elements and refer
06 Background animation
The appearing circle animation used in the
background is made from the first <span> item used as a
to them in your navigation elements using # followed by square block refined into a circle using clip-path. Only
the ID name to navigate to in the href attribute. Make the first <span> element has the properties applied to it
sure you download the full tutorial code by following this to show as the animated circle when the user hovers
link: http://goo.gl/VS9ejb. over the nav item.
01 Define HTML
001 nav a span{
First create the main HTML content that 002 position: absolute;
contains the effects elements. Well use a <nav> element 003 display: table-cell;
to contain the <a> links that become the menu items. 004 vertical-align: middle;
The HTML links to CSS and some JavaScript for the 005 text-align: center;
visual effects. 006 z-index: 0;
007 top: 0;
to create
Along with transform, we also have another cool
TIME REQUIRED property called perspective.
60 minutes
The perspective property defines the intensity of the
3D effect. This is because it defines how far the object is
animated
away from the user. So, a lower value will result in a
more intensive 3D effect than a higher value. But one
thing we need to remember is, when defining the
perspective property for an element, it is the child
buttons
elements that get the perspective view, not the element
itself. When the transform and perspective properties
are combined, you can create some great-looking 3D
animations on a number of different elements.
In this tutorial were going to work with the transform
USING THE TRANSFORM PROPERTY, WELL CREATE and perspective properties and their values to create
SOME COOL-LOOKING 3D BUTTONS THAT WILL ADD four cool-looking 3D buttons that you can use on your
THAT EXTRA POLISH TO YOUR SITE webpages. Each button will be slightly different in its
perspective, which will allow us to really get to know
how the perspective property works. So, open up your
favourite text editor and lets get started!
01 Get ahead
004 </section> 004 <h2>Creative 3D buttons</h2>
After creating a new HTML5 file, open it up 005 </div><!-- END container --> 005 <p class=btn_perspective>
within your favourite text editor and add in the head 006 </body> 006 <button class=btn btn-3d btn-3da>Submit
section. We will need to add in the link to our CSS file and 007 </html> </button>
make sure we have good browser support for our 007 </p>
03 Button HTML
HTML5 and CSS3 so we will use Modernizr. Head over 008 <p class=btn_perspective>
to modernizr.com and grab the latest version. Within the <section> element, we add in a 009 <button class=btn btn-3d btn-3db>Submit
paragraph tag with a class name of btn_perspective, </button>
001 <!DOCTYPE html> which well target later using the perspective CSS3 010 </p>
002 <html lang=en class=no-js> attribute. We then add in our first button, which will 011 <br />
003 <head> contain several class names that well target later on. 012 <p class=btn_perspective>
004 <meta charset=UTF-8 /> 013 <button class=btn btn-3d btn-3dc>Submit
005 <meta http-equiv=X-UA-Compatible 001 <body> </button>
content=IE=edge,chrome=1> 002 <div class=container> 014 </p>
006 <meta name=viewport content= 003 <section class=3d-buttons> 015 <p class=btn_perspective>
width=device-width, initial-scale=1.0> 004 <p class=btn_perspective> 016 <button class=btn btn-3d btn-3dd>Submit
007 <title>Creative 3D Buttons</title> 005 <button class=btn btn-3d btn-3da>Submit </button>
008 <link rel=stylesheet type= </button> 017 </p>
text/css href=css/main.css /> 006 </p> 018 </section>
009 <script src=js/modernizr.custom.js> 007 </section> 019 </div><!-- END container -->
</script> 008 </div><!-- END container 020 </body>
010 </head> 009 </body> 021 </html>
010 </html>
02 Content body
With the head section done, we can now move
on and start adding some HTML within the <body> 04 Finish up the HTML
We already have the HTML for one button, but
05 The CSS Its important to start every project with some
default CSS that we often add to an external CSS reset
section. As always, we are going to add in a container we want to create another three so we can really test out file. For this tutorial well just keep it simple and go ahead
element with a class name of container to allow us to our 3D skills. So, copy and paste the paragraph tag we and add some CSS to the top of a file called main.css,
centre things easily. Then, we will use the <section> created in the last step and make sure the last class and with this CSS we are making sure our box model is
element and give it a class name of 3D-buttons. name is changed accordingly. set properly to every single element that uses the box
model (css-tricks.com/box-sizing).
001 <body> 001 <body>
002 <div class=container> 002 <div class=container> 001 *, *:after, *:before {
003 <section class=3d-buttons> 003 <section class=3d-buttons> 002 -webkit-box-sizing: border-box;
<top left>
s8JUIPVS)5.-OPXDPNQMFUF
XFBSFTFFJOHUIFCVUUPOTBOE
UIJOHTBSFOJDFMZDFOUSFE
<top right>
s/PXUIBUTPNFTUZMJOHJT
BEEFEUPPVSCVUUPOT
XF
DBOTFFUIJOHTTUBSUJOHUP
UBLFTIBQF
<bottom left>
s*OUIJTTUFQ
XFBEEFEUIF
QFSTQFDUJWFWBMVFTCVUBMTP
TFUUIFEJTQMBZWBMVFUP
JOMJOFCMPDL
<bottom right>
s/PXXFDBOTFFPVSCVUUPOT
MPPLJOHNPSFQPMJTIFE
XJUI
UIBUMBUMPPLXFXFSFBGUFS
09 Button styles
003 -moz-box-sizing: border-box; wraps around our content. Were going to set the height
004 box-sizing: border-box; of the outer container to 100% and position it relative. The idea is to give our buttons that flat look,
005 } Then we use a child combinator selector (>) to target which can easily be achieved by not adding any rounded
006 body, html { our <section> element and centre everything within corners or drop shadows. We will make sure they are
007 font-size: 100%; and add some other default styles. fairly large so we can clearly see the 3D effect once we
008 padding: 0; are finished and, as they are buttons, lets not forget to
009 margin: 0; 001 .container { add the cursor: pointer at the bottom of our rule.
010 height: 100%; 002 height: 100%;
011 } 003 position: relative; 001 /* General button styles */
012 004 } 002 .btn {
005 .container > section { 003 border: none;
06 Body styles
006 margin: 0 auto; 004 position: relative;
Next we need to add in some default styles for 007 padding: 6em 3em; 005 background: none;
our body and links. This is not vital but makes things nice 008 text-align: center; 006 padding: 28px 90px;
and simple as it keeps it all in one place. The background 009 color: #fff; 007 display: inline-block;
colour is going to be a nice light blue and were going to 010 } 008 text-transform: uppercase;
stick to using Arial as our main font. 011 009 margin: 15px 30px;
010 color: inherit;
08 Heading styles
001 body { 011 letter-spacing: 2px;
002 font-family: Arial, sans-serif; What would a page be without a page 012 font-size: .9em;
003 background: #0e83cd; title? Lets add some styles to that. Were going to keep 013 outline: none;
004 } it simple and make the text white with a 20px margin 014 -moz-transition: all 0.4s;
005 a { all around. Then we align it centre and make it 015 -webkit-transition: all 0.4s;
006 color: #888; uppercase. All nice and straightforward so lets move 016 transition: all 0.4s;
007 text-decoration: none; on to the buttons. 017 cursor: pointer;
008 } 018 }
009 a:hover, 001 h2 {
10 Button pseudo
010 a:active { 002 color: #fff;
011 color: #333; 003 margin: 20px; Using the :after pseudo-element, we will make
012 } 004 text-align: center; sure any content behind our button is taken out by using
005 text-transform: uppercase; the content: property. We then ensure that everything is
07 Contain it
006 } positioned absolute so we can then set its index to -1,
Now we need to create a container that 007 with everything else behind.
<top left>
sOur first 3D button is done
and we have a nice prominent
3D effect
<top right>
sThe second button is now
done, only this time we have
rotated this at the bottom
<bottom left>
sNow the third button is
done, with this one rotated on
the X axis
<bottom right>
sThis is our final button
the 3D effect isnt as
prominent here but it looks
good nevertheless
Top tip
There are several different transform
functions, each applying a 12 Button 3D
The transform-style property will determine
whether that element is in 3D space or is flattened. Of
14 Hover state
Now this is where the magic happens. We are
going to rotate the whole button when we hover over it,
different visual effect. Be sure
to experiment and find course we want it to be in 3D, so we add the preserve- making the rotate quite big so that we can see the 3D
your favourites. 3d value to bring the button into 3D space and not be effect more prominently. To do that we add a -45
flattened (which is the default). degree tilt to the button on the x plane.
15 Button B
004 z-index: -1; 005 transform-style: preserve-3d;
005 -webkit-transition: all 0.4s; 006 } The next button (button B) will be using similar
006 -moz-transition: all 0.4s; 007 .btn-3d:active { styles as our first button, but with a few changes. First
007 transition: all 0.4s; 008 background: #55b7f3; we make sure that the button is positioned 100% to the
008 } 009 } top and origin values both set to 0%. Then we just need
to rotate this -90 degrees.
11 Button perspective
The perspective: CSS property gives an
element a 3D-space by effecting the distance between
13 3D animation
Here we add our first 3D animation to our first
button (a) and set some other styles. The transform-
001 /* Button 3db */
002 .btn-3db:after {
the Z plane and the user. The strength of the effect is origin property sets the point of origin of a transform; 003 width: 100%;
determined by the value. The smaller the value, the the first value is the horizontal position, the second is the 004 height: 40%;
closer you get from the Z plane and the more vertical position. We rotate the x plane to 90 degrees. 005 left: 0;
impressive the visual effect is. The greater the value, the 006 top: 100%;
more subtle the effect will be. 001 .btn-3da:after { 007 background: #53a6d7;
002 width: 100%; 008 transform-origin: 0% 0%;
001 /* Button */ 003 height: 42%; 009 transform: rotateX(-90deg);
002 .btn_perspective { 004 left: 0; 010 }
003 -webkit-perspective: 800px; 005 top: -40%;
16 Hover state B
004 -moz-perspective: 800px; 006 background: #53a6d7;
005 perspective: 800px; 007 transform-origin: 0% 100%; Now we have our first button animated in all its
006 display: inline-block; 008 transform: rotateX(90deg); glory, we just need to use the same property on this
007 } 010 } one. To give us some variation, we will not make this as
21 Responsiveness
007 background: #53a6d7;
008 -webkit-transform-origin: 100% 0%; Its only natural that before we wrap this
009 -webkit-transform: rotateY(-90deg); little project up, we think about making the buttons
010 -moz-transform-origin: 100% 0%; responsive. By default the buttons will fall
011 -moz-transform: rotateY(-90deg); underneath each other when the browser window
012 -ms-transform-origin: 100% 0%; is resized, but we want to think about making these
013 -ms-transform: rotateY(-90deg); buttons slightly bigger so that they are easily clickable
014 transform-origin: 100% 0%; using your finger. So, all we do is increase the font size
015 transform: rotateY(-90deg); as shown.
016 }
001 @media screen and (max-width:480px) {
001 .btn-3dc:hover {
22 Final thoughts
Creating 3D buttons can really help
enhance your web projects. Hopefully this tutorial
002 transform: rotateY(25deg); has demonstrated that not only is it a fun thing to
003 } do, but its fairly straightforward to implement as well.
A challenge for you now would be to try this
19 Finish up
Now we are almost done with our 3D buttons.
All we need to do is add some styles to our last button.
technique to other elements on your page, such
as vertical menus it can look really great on
logos, too.
Again, theres only some small adjustments in this rule,
<above> but we are staying on the Y axis at a positive 90
sAll done! Now we can see how things look degrees and our origin top and left is 0%.
when we resize the browser window
001 /* Button 3dd */
scroll-over effect
TIME REQUIRED
1 hour
FOLLOW THIS TUTORIAL TO EMULATE THIS ACE DESIGN INSPIRED BY THE FOLKS AT
WWW.HUGEINC.COM
SIMPLICITY IS A goal many designers story of the brand and how it works
seek but with its less, but better
philosophy, Huge seems to achieve
with clients. On arriving at the site,
three full-page slides demonstrate
Top tip
Huges Wes Hatch
so much more than the rest. When the agencys approach and
discusses the fullscreen
redesigning its own website, Huge continued to values, and when that message
scroller at bit.ly/1jxW2HY
realise opportunities to evolve, and has has been delivered, the site flows
providing a fascinating
masterfully engineered an online experience that into a magazine-style
glimpse into the
powerfully communicates its brand. presentation of what it means to
development process.
Positioning their emblematic H front and be Huge. Less, but better it
centre provides a perfect vehicle for telling the certainly is.
2
1
2
possibilities are endless!
01 HTML head
This technique uses the jQuery library
and jQuery-UI if you want easing effects. The
options, slidesColor.
02 HTML body
008 text-shadow: 3px 3px #000; domain images online or simply create
To simulate the effect used on the Huge 009 } your own.
site, the layout and functionality has been kept nice 010 .section{ text-align:center; }
and simple for its visitors. However, you can obviously 011 .w1 {
populate each <div> with whatever content you would 012 background: url(imgs/w1.jpg)
like, as well as make use of the many additional options no-repeat center center fixed;
offered by the fullPage.js plugin. For example you can 013 background-size: cover;
introduce the addition of a landscape slider just by 014 }
adding in some nested <div>s. There are ten examples 015
within the plugin package.
Make an
A LOT OF THE projects that are featured
TUTORIAL in this bookazine demonstrate how to
OBJECTIVE
Add engagement to approach the implementation of some
navigation with 45-degree really unique features. Most of these have
page views
animated
some quirky way of interacting with the menu, and as
TIME REQUIRED the user tends to do most of the interaction with the
1 hour 30 minutes menu, its usually a good place to start when creating
a unique focal point for your site. In this tutorial we
off-screen
are going to look at CSS3 transformations that, by
default, are hardware accelerated. As such, we can
add lovely 3D effects and transitions to our content
by adding and removing classes that will trigger the
3D menu
animations. In this menu we will have an off-screen
menu that slides in from the left-hand side. Theres
nothing out of the ordinary about that, except that
our page content will flip out of the way using a 3D
transform that will enable the menu to take full focus
GET YOUR MENU TO STAND OUT WITH A on the page. Then, when its time to bring the page
45-DEGREE PAGE VIEW OFF SCREEN back, the user can simply click on the page to get the
menu to slide back out and the page to rotate back
into full view. A little trick here to make this work is to
stop the page from being scrollable while the page is
rotated out to one side. Experiment with the effect on
your site, starting by downloading resources from the
following link: http://goo.gl/S1BkT0.
02 Switch to the CSS There is a wrapper class just inside the 009 }
Save the index page and move to the style.css container, again this needs to be set to relative so that
in the CSS folder. Add the following code in here. It can
go at the bottom of the document, just make sure that it
isnt inside a media query. Here the twist class is being
when the design opens, it works correctly. When the
menu is opened a class gets added to it and this is called
open. Here the twist class is made to be fixed and the
06 Add functionality
As the content is being animated in 3D space
the open wrapper is given a CSS transformation on the z
given a relative position on the page. This will hold the perspective added. axis. The container is slightly altered when it is in
menu outside the page. animation to be slightly bigger than the screen with full
001 .wrapper { opacity. The transition takes less than a third of a second.
001 .twist { 002 position: relative;
002 position: relative; 003 } 001 .open .wrapper {
003 } 004 .twist.open { 002 -webkit-transform: translateZ(-1px);
005 position: fixed; 003 }
Normalize.css file
08 Menu items
006 }
The project makes use of 007 .effect-persp {
Each menu element needs to be styled up in
normalize.css, which makes 008 background: #b40000;
the right font weight, with the underline and the margin
browsers rendering all elements 009 }
taken off to make it appear in the right place on the
more consistently and in-line
screen. A transition is added so that the text colour can
with modern standards. Its
available from necolas
.github.io/normalize
change on rollover and to make it all visible.
001 .offscreen-nav a {
10 Add the transition
In order to make the container swing out and
twist in 3D space we need to change its transform origin
.css. 002 display: inline-block; point to the centre of it. This is given a slightly longer
003 white-space: nowrap; transition time than in Step 6, but it all works together to
008 transition: opacity 0.3s; 004 font-weight: 300; bring the effect on the screen.
009 } 005 text-decoration: none;
006 margin: 0 0 30px 0; 001 .effect-persp .container {
07 Position the navigation menu 007 color: #fff; 002 -webkit-transition: -webkit-transform 0.4s;
Here the navigation for the off-screen menu is 008 -webkit-transition: color 0.3s; 003 transition: transform 0.4s;
set in the CSS. The position is set at absolute so that it 009 transition: color 0.3s; 004 -webkit-transform-origin: 50% 50%;
can be animated from the side and made to have a 010 -webkit-transform-style: preserve-3d; 005 transform-origin: 50% 50%;
height that fits its content. This is given the transform 011 transform-style: preserve-3d; 006 }
position of 50% of the height and to ensure hardware 012 }
acceleration the preserve-3d is set.
15 Setting variables
004 transform: translateX(-150px); 003 twistWrapper = document.getElementById(
005 -webkit-transition: -webkit-transform 0.4s, The next part of the code sets out some 'twist' ),
opacity 0.4s; variables that are needed in the code. The biggest 004 container = twistWrapper.querySelector(
006 transition: transform 0.4s, opacity 0.4s; section is an object containing the browser prefix names. '.container' ),
007 } These are used to check when the transition has ended 005 contentWrapper = container.querySelector(
008 by dynamically adding an event listener to the transition '.wrapper' );
later in the code.
13 Final CSS
Finally the menu is brought onto the screen
with the full opacity for each menu element. Save the
001 var docElem = window.document.
documentElement,
17 Show the menu
Here the menu button is detected for when a
user clicks on it. The click event fires the remaining
style.css now because it has been completed. There 002 support = "transition", function, which is only partially shown in this step. The
wont be anything to see in the browser though because 003 transEndEventNames = { event is stopped from propagating and the default action
there is no functionality added to the page yet. That will 004 'WebkitTransition': 'webkitTransitionEnd', of the button is also prevented. This enables the code to
come next by applying the CSS classes with JavaScript. 005 'MozTransition': 'transitionend', run without default actions interfering.
< Above>
s5IFJOBMEFTJHOXPSLTPOBWBSJFUZPGEJGFSFOU
TDSFFOTJ[FT
XJUIUIFNFOVCFJOHQMBDFEJOUIF
TQBDFBWBJMBCMF
Integrate the menu
This menu could easily be implemented with a responsive framework such as Bootstrap or Foundation as an
alternative to their respective menus. Remember that each of those frameworks give you a custom download of what
001 showMenu.addEventListener( 'click', is available, you dont need the whole framework. As such, you can leave out the existing menu that comes with those
function( ev ) { frameworks and add your own. Doing this is a great way of customising and making the design look less like an existing
002 ev.stopPropagation(); framework because those menus are very obvious. Custom web design menus will always create a more appropriate
003 ev.preventDefault(); look for your web projects and with so many responsive frameworks, its almost possible to take the best parts of each
004 docscroll = scrollY(); to kick-start your own work.
005
22 Finish off
004 setTimeout( function() { classie.add( returned to the user so that the page can carry on like a
twistWrapper, 'animate' ); }, 25 ); normal web page under the control of the user. Add the final code and bracket to close off the
005 }); init function. The final line calls this function so that the
006 001 this.removeEventListener( previous code is applied. Now save this JavaScript and
transEndEventName, onEndTransFn ); open the index.html page in your browser to see the
Master animated
TUTORIAL
OBJECTIVE
Give your blog a great
pop-up animated effect
TIME REQUIRED
1 hour
pop-up effects
CREATE THIS AWESOME EFFECT THAT WAS INSPIRED BY
WWW.PINKANOVA.COM
AVIDEO PRODUCTION with what can be achieved digitally
Top tip
Pinkanova created the
COMPANY, Pinkanova is based with video but all too often the
designs, but the technical
in Toulouse in the south-west results look like after thoughts.
build was completed by
of France. With the European Where Pinkanova distinguishes
Toulouse-based agency Gle
headquarters of Intel and world-renowned itself is in the integration of
Design. Youd struggle to find
university located nearby its certainly digital elements, with the
better words to describe their
not a bad place to have your creation of fun, memorable and
work than their strapline:
companys headquarters. engaging sights into exciting
passion, rigour, envie,
Pinkanova is the epitome of the digital new worlds where the real and
innovation, creative,
native. Many video companies are catching up virtual co-exist.
emotion.
1 2
2
getting the graphics right, but keep an eye
on the file sizes you are generating.
Technique Easy on the code
01 The head 002 max-width: 800px;
For the purposes of the workshop, a fullscreen 003 min-width: 620px;
image is used and loaded by linking the background 004 margin: 150px auto;
stylesheet. This is achieved by assigning a background 005 }
image to the HTML. Here the background-size keyword 006 .left {
cover is used. This scales the background image, 007 float: left;
preserving the original aspect ratio so that the 008 }
background is completely covered. 009 .right {
04 The pop-ups
004 <meta charset="utf-8"> original footage. Youll need to remove the
005 <title>Animated Popups</title> The graphics for the pop-up are background background if you want a non-rectangular
006 <link rel="stylesheet" type="text/ images, so the links are set to display as block elements look, keep this in mind when shooting!
css" href="styles/background.css"> at the appropriate height and width. This workshop
007 <link rel="stylesheet" type="text/ avoids the increasingly disavowed negative text-indent
css" href="styles/popups.css"> technique to hide unwanted text, instead opting for the
008 </head> Zeldman-approved Kellum Method (no longer used by
Scott Kellum, who now prefers custom font sets).
03 The container
The main class provides a container for the
two pop-ups. Max-width and min-width are used to
05 The animation
The pop-up graphics are comprised of
eleven frames, each occupying a 300px-wide area.
provide an element of responsiveness in the layout, but
you will undoubtedly need to create your own container
styling to meet the needs of your own page. The float
In order to animate the pop-up, it is simply a case
of stepping through each of these frames by
moving the graphic left ten times (eg 3000px/10 =
03 Lose the
background
Remove the background in your raw
property is used to position each pop-up <div> at the 300px steps) to the last frame. If you want to use footage. Then, copy the result into the
far-left and far-right of the container <div>. a different number of frames, all you need to do is multi-frame graphic. Repeat this until done
ensure that the step distance matches the width of and tweak the PNG optimisation options
001 .main { each frame. until happy. Save and youre done!
Create a rotating
product viewer
DISPLAY YOUR PRODUCTS FROM EVERY ANGLE WITH A ROTATING PRODUCT
Signposted URL
Getting sales for the bike is key
so a large pre-order label in the
VIEWER, AS SEEN ON NUABIKES.COM top-right of the screen will
always provide access to it
Fixed menu
The menu is fixed into
position on the left side of
the screen and remains in
place as the rest of the
page is scrolled through
Fullscreen photos
The photography is key to
this site and the large,
fullscreen images provide
a way to view the bike from
different angles
Selling online
allows businesses
to reach out to
huge markets
152 WordPress Genius Guide
WordPress
Genius Guide
Top tip
Recent studies show
that 40% of users will
abandon your site if it
takes over three
seconds to load.
GOOGLE
ANALYTICS
GOOGLE ANALYTICS IS THE MOST WIDELY USED WEB ANALYTICS SERVICE IN THE
WORLD AND ITS FREE. FIND OUT THE MOST IMPORTANT PARTS OF THE DATA TO
STUDY AND MASTER KEY FEATURES TO GET MORE HITS FOR YOUR SITE
T
he Channels report enables you to see at a for example, paid search CPC, organic and so on. Google then uses rules
glance where your visitors are coming from based on these dimensions (not restricted to the ones mentioned) to define
according to Googles rules. Not all your traffic their channels.
will be captured by Google automatically, specific For example the organic search channel is defined by all traffic that has a
traffic such as Email will not automatically go under the Email channel. medium exactly matching organic.
Google uses their Direct channel as a catch-all mechanism for traffic The default channel grouping Google provides to you would cover most
that it just cannot categorise in any of its other channels. So its important business needs, but if you think you need a custom channel, Google
that you familiarise yourself with the UTM tags in order to make sure all enables you to create custom groupings based on these specific needs of
campaigns you are running are accounted for. yours. Just like the default ones, the custom channels are based on rules
To understand how Google uses these tags, its important to get familiar with the that you will have already defined in the interface utilising dimensions set
concept of source this could be Google, Bing, Facebook; and the concept of medium out by Google Analytics.
Channels
Googles Default channel grouping splits traffic into
eight groups and these are: Direct, Organic, Referral,
Paid Search, Other Advertising, Email, Social and
Display. You cannot change how these channels are
defined but Google may evolve them in future. By
using these groupings you will be able to clearly
review visitor behaviour from a particular source
and determine the channels effectiveness without
being muddled up by another channel.
UTM tags
If youre planning some activity that will drive traffic
to your site email or social for example, its key that
you identify this traffic and make sure you can
understand and measure the yield of your efforts.
Google uses custom campaign parameters called
UTM tags to enable you to identify each piece of
activity or campaign. For example, these identifiable
activities can include the source, the keyword or Sessions Pageviews insight into how users navigate
term used, the content and ads or the specific name The number of periods in which any The total number of page around your site. A live website
of a brand. By tagging the links to your posts, for user interacts with your website. If a impressions during user sessions overlay indicates the proportion of
example in an email newsletter, you can ensure that user leaves the site and returns after within the selected date range. clicks made from any page to each
this traffic is correctly identified as it comes through. 30 minutes or more, a new session linked page, enabling you to
Google has a handy URL builder tool that makes it is recorded. Explaining establish the most popular paths
very easy to identify the most effective URLs. relationship taken to explore your content.
Users A session consists of a grouping of
Real-time This is the number of unique users one or more pageviews or other Audience behaviour
Once you have tagged your campaign URLs you who have visited your site for at interactions which take place on The Audience>Behavior report
can test everything is working as it should be by least one session during the your site. A session ends once a reveals how loyal your visitors are
looking at the Real Time analytics report by going to selected date range. user has been inactive for 30 and how often they return to the
Real Time>Traffic Sources. By clicking through to minutes, or leaves your site and site. Its possible to compare the
your site using your newly tagged link, you should Bounce rate returns via a different channel. behaviour and performance of new
see this visit showing the correct medium and The proportion of total sessions versus returning visitors and also
source in the report if youve done this right. You will which consist of only a single In-page analytics see the number of sessions each
then be able to monitor spikes and trends as they pageview being generated before Accessed from the Behavior user generated during the selected
happen on your website. the user leaves your website. section, In-Page Analytics offers date range.
Affinity Categories
The Affinity Categories report can reveal visitors
01 Demographic reports
can be viewed to reveal
your visitors data, including
02 User Affinity Categories
can give insight into
what else your users do online.
03 The In-Market Segments
report highlights areas
of commercial intent in which
interests. Including a post on a related interest and aspects like their gender split and Affinities reveal a more detailed your users have expressed a
referencing effectively can provide new engagement. age groupings. interest breakdown. degree of interest.
PPC
If you are running a PPC campaign, its
example, a subscription to your mailing
list or a form submission can be a goal Social media
Social media visitors have generally
additional content on your site? Does a
particular type of post generate more
and assigned a value. interactions than the others? Do they
important that you understand whether Remember that PPC traffic should arrived with far less intent to go on to find other content from your
Vs
the traffic thats being generated is always have clear objectives and convert and have followed an site and share that with their network of
money well spent. By setting up goals be directed at the most relevant interesting article or post that has friends and followers? This information
in Analytics and assigning a monetary landing page on your website. This led them to your site as opposed is invaluable for growing your audience
value to those goals, you can quickly will also need to be via the keywords to an advert or offer. Understanding and maximising the effectiveness of
establish the ROI on your PPC spend that you are already using in order to their behaviour, however, is no less what you do for your site on social
even if you arent selling something. For give it the best chance at converting. important. Do they go on to read media and for building your brand.
Glossary
Conversion Event Goal Segment Channel Attribution
Any completed action A type of user User interaction A subset of sessions or grouping model
that helps your business interaction with the measured by the user users that share A roll-up of traffic This model determines
measure success. They page content to track reaching a specific URL common attributes so sources in the the channels your sales
can be macro or micro conversions when the or closely tied to a page you can isolate and Acquisition reports that and conversions get
conversions depending interaction is load. Examples would better analyse sessions groups marketing assigned to. This is
on importance. A independent on a page be a user reaching some or users. You can apply activities together to let based on contribution.
completed purchase load. Examples can form of a Thank you up to four at a time and you compare User models include a
would be a macro include AJAX loaded page, a purchase use predefined aggregated metrics by Last Interaction model
conversion and a content, link clicks, social completed or a specified segments or import channel name, individual that assigns the credit
Facebook like would be buttons interactions, amount of time spent them from the Analytics traffic source, medium to the last click before
a micro conversion. flash elements etc. on a specific page. Solution Gallery. or campaign name. its conversion.
Speed up
TUTORIAL NOBODY LIKES TO wait ages for a
OBJECTIVE page to load. If your site is loading
Use Varnish software to slowly people will just go somewhere
increase the performance
of content-heavy sites else before they get to look at all the
WordPress
content on your site or read the great article you
TIME REQUIRED wrote. Page speed is still an issue for many sites,
1 hour 30 minutes
and recent studies show that 40 per cent of users
will abandon your site if it takes more than three
seconds to load.
software
cache it will forward it to the origin server, fetch the
response, store it in the cache and deliver it to the
client. When Varnish has a cached response ready,
it is typically delivered in a matter of microseconds:
two orders of magnitude faster than the average
INCREASE THE PERFORMANCE OF WORDPRESS USING origin server, so make sure that Varnish answers as
VARNISH AND OPTIMISE YOUR CONTENT-HEAVY SITES much as possible from the cache.
In this tutorial we will go through some of the
common steps required to install and configure
Varnish and integrate it with WordPress to take your
site to the next level.
01 Install Varnish
Varnish packages are readily available for many Linux distributions including
Red Hat, Centos, Debian and Ubuntu. In this tutorial we will assume that Ubuntu 14.04.1
04 Move Apache
Before we configure Varnish to handle all the web traffic to our WordPress
site, we will need to move Apache to a different port. Lets then change all occurrences
LTS as the underlying operative system and well be installing the latest version of of port 80 with a text editor in /etc/apache2/ports.conf and any files under /etc/
Varnish. For other operating systems check the latest releases on varnish-cache.org/ apache2/sites-enabled/ to 8080.
releases. Open a command prompt and type the following as root.
001
002 a2enmod rewrite
07 Make it effective
Now we are ready to start Varnish and restart Apache. Once this is done, all
traffic to our WordPress site will pass through Varnish before it hits the Apache server.
003 Open the command prompt again and run the following as root.
<Above>
s*OTUBMMUIF7BSOJTI)5511VSHFQMVHJOJO8PSE1SFTTUPFWJDUUIFDPOUFOUJOUIFDBDIFXIFOJUJTVQEBUFE
08 Ignore cookies
By default, Varnish will not cache content for requests including the Cookie
header or responses including the Set-Cookie header. WordPress sets many cookies 10 Extend caching
Varnish uses the max-age parameter in the Cache-Control HTTP header to
that are safe to ignore during normal browsing so lets update establish how long the content is considered fresh before contacting the backend
/etc/varnish/default.vcl and add the following inside vcl_recv to remove them. again. Varnish will use 120 seconds by default if this value is missing or is equal to zero.
To extend this period to one hour we could update /etc/varnish/default.vcl.
001 set req.http.cookie = regsuball(req.http.cookie, "wp-
settings-\d+=[^;]+(; )?", ""); 001 sub vcl_backend_response {
002 set req.http.cookie = regsuball(req.http.cookie, "wp- 002 if (beresp.ttl == 120s) {
settings-time-\d+=[^;]+(; )?", ""); 003 set beresp.ttl = 1h;
003 set req.http.cookie = regsuball(req.http.cookie, 004 }
004 "wordpress_test_cookie=[^;]+(; )?", ""); 005 }
005 if (req.http.cookie == "") {
09 Exclude URLs
In most web applications there are some URLs that shouldnt be cached no
matter what and WordPress is no exception. We will be excluding any admin or login
will need to add the following at the top of vcl_recv in /etc/varnish/default.vcl.
<Above>
s)FSFZPVDBOTFUBDVTUPN63-TUSVDUVSFGPSQFSNBMJOLTBOEBSDIJWFT
Varnish Book
Varnish has also released an
entire PDF document detailing
how to utilise the software to its
full potential, including sections
on HTTP protocols, VCL basics
and threading parameters.
Check it out at
bit.ly/1z1alPk
12 Secure purge
In the previous step we added the necessary code to handle purge
requests but we have left it open for anyone to do just that. Lets add some
code to restrict it. Edit /etc/varnish/default.vcl and after the backend add the acl
below using your server IP address or hostname. Then modify the code in the
previous step to use it.
<Above>
s&YBNJOFBMMJODPNJOHBOEPVUHPJOHXFCUSBJDJOSFBMUJNFBTJUMPXTUISPVHI7BSOJTI 001 acl purge {
002 "localhost";
<Above>
s%PDVNFOUBUJPO
JOGPSNBUJPOBCPVUUIFQSPKFDUBOENPSFJTBWBJMBCMFPOMJOFBUUIF7BSOJTIXFCTJUF
16 Volume matcher/measure
007 if (client.ip !~ purge) {
008 return (synth(405)); Varnish is very powerful but can be daunting at first. Luckily for us there are
009 } many resources online and has an active community behind ready to help. If you are
010 stuck or want to know more you can visit the Varnish website at varnish-cache.org.
Code an TUTORIAL
OBJECTIVE
Add an input form to your
website with CSS
ONE OF THE most common and useful
online interactions that web designers and
developers can do is devote time to
encouraging visitors to subscribe to a
input form TIME REQUIRED newsletter or blog. Once signed up, visitors can then
1 hour be included in online promotional activities and
hopefully be converted into paying customers in
due course.
in 3D with
To part with an email address, however, visitors need
to trust the website and be sufficiently interested in the
product, service or blog even so, this by itself might
not be enough. Then again, if your website looks the
CSS
part and has an original-looking and slick method for
encouraging signup, this could provide the extra nudge
some visitors need in order for you to secure those
all-important email addresses.
The technique demonstrated in this tutorial makes
IF YOU HAVE LIMITED SPACE BUT WANT TO ingenious use of CSS and JavaScript to create a 3D box
CAPTURE INPUT WITH MAXIMUM STYLE, THIS IS providing all of the required functionality, user prompts
THE TECHNIQUE FOR YOU and confirmation within the space of a single input field.
If you want to increase the number of subscribers to
your website, for example, this could be just the solution
you are looking for. Lets give it a go.
01 HTML first
div*4(cuboid faces) --> message is displayed. The final face of the cuboid (on the
This technique works in all modern and even 004 <div id=cuboid> long side of the cuboid, that is) is used for displaying the
not-so-modern browsers. Please do check the 005 <form> success message and an icon to enable the form to be
functionality if you need to ensure compatibility with 006 <!-- #1 hover button --> refreshed and therefore reused.
older browsers like IE8. The HTML starts with the now 007 <div>
familiar HTML5 declaration. The customary utf-8 008 <p class=cuboid-text>Subscribe</p> 001 <!-- #3 loading message -->
character set is declared, assuming you use this 009 </div> 002 <div>
character set, the page title is put in place and the link to 003 <p class=cuboid-text loader>
<left>
sThis minimal approach
helps ensure that there
are no distractions
usability studies have
shown that sign-up rates
improve when the user
is given fewer options
to consider. You can,
of course, integrate
this type of form within
a complete page
layout too
003 <script src=js/3dform.js></script> necessary to keep setting this font for each of the page
Top tip
This tutorial is based on the walkthrough
004 </body> elements. The ghostly envelope shape is created by published by thecodeplayer.com/
005 </html> increasing a Font Awesome icons size tenfold and then walkthrough/single-input-3d-form.
reducing its opacity to 0.1 (where 1 is completely opaque). Be sure to check out their other
content delivery network but the minified Font 002 h1 {font-weight: normal; font-size: 006 /*propogate 3d space for children*/
Awesome file is linked locally. Youll also need local 36px; margin-bottom: 75px;} 007 -webkit-transform-style: preserve-3d;
versions of the Font Awesome EOT, SVG, TTF, WOFF 003 .envelope i {-webkit-transform: scale(10);- 008 transform-style: preserve-3d;
and OTF files all saved in a fonts folder, which is where ms-transform: scale(10);transform: scale 009 /*prevent height collapse as children
the font-awesome.min.css expect to find them. (10); opacity: 0.1;} are absolutely positioned*/
004 #cuboid { 010 height: 40px;
001 /*Custom fonts - Raleway and FontAwesome*/ 005 width: 400px; margin: 0 auto; 011 /*for smooth animations*/
002 @import url(http://fonts.googleapis.com/ 006 /*this also makes #cuboid a container 012 -webkit-transition: all 0.35s;
css?family=Raleway); for absolutely positioned descendants*/ 013 transition: all 0.35s;
003 @import url(font-awesome.min.css); 007 -webkit-perspective: 1000px; 014 }
004 * {margin: 0; padding: 0;} 008 perspective: 1000px;
border: 0 none;
Top tip 010 font: inherit; text-align: left; color:
cuboid <div> is defined, positioned absolutely and
completely fills the container.
When influencing online behaviour, hsl(200, 40%, 30%);
its important to get the balance right 011 display: block; width: 100%; padding: 001 /*.active = when the user is typing
between giving people enough 0 10px; something*/
reasons to sign up and not 012 -webkit-box-sizing: border-box; 002 .submit-icon.active {color: hsl
distracting them so much 013 -moz-box-sizing: border-box; (30, 70%, 70%);}
that they forget to 014 box-sizing: border-box; 003 .reset-icon {color: hsla
actually do it. 015 } (0, 100%, 100%, 0.25); font-size: 14px;}
004 #cuboid div {position: absolute; top: 0;
saturation values in this case between 40% and 70%. 003 position: absolute; top: 0; right: 0; 001 /*3D transforms. Each face will be rotated
The styling for the email input field is set including the 004 color: hsla(30, 50%, 30%, 0.20); in multiples of -90deg and moved 20px(half
white background and the coloured text. Border-box is 005 line-height: 40px; padding: 0 10px; of their 40px height) out*/
used here in order to ensure that the whole box appears 006 /*smooth transitions when user activates 002 #cuboid div:nth-child(1) {transform:
within the space allocated. input and types something*/ rotateX(0deg) translateZ(20px);}
007 -webkit-transition: all 0.5s; 003 #cuboid div:nth-child(2) {transform:
001 /*Lets create a pulsating animation for 008 transition: all 0.5s; rotateX(-90deg) translateZ(20px);}
the loader face*/ 009 /*to make the icons feel like buttons*/ 004 #cuboid div:nth-child(3) {transform:
002 @-webkit-keyframes phase { 010 cursor: pointer; rotateX(-180deg) translateZ(20px);}
003 50% {background: hsl(200, 70%, 30%);} 011 } 005 #cuboid div:nth-child(4) { transform:
004 } rotateX(-270deg) translateZ(20px);}
14 Take it further
This technique really suits an ultra-minimal
Coming soon page layout no distractions, just sign up
is needed to bring it all together
16 Icons as fonts
030 })
Font Awesome, used here, is one of the most
popular icon font solutions but it is by no means the only
way to go. Fontello provides an incredibly useful online
tool for creating your own custom icon fonts, so you can
choose just what you need from a wide range of sets
and keep the file size down to an absolute minimum. 17 Do you DIY?
If you have the time,
skill and inclination, often it will
be better to create your own
bespoke forms. However,
sometimes the smart thing to
do is to reach for a solution
that already exists. One relative
newcomer to the forms party
is the Barcelona-based
Typeform you should
definitely check out how their
forms look and work.
layered
in Photoshop
waves? Over the next four pages, youll learn the
TIME REQUIRED various techniques required for creating a partial-
45 minutes submersion scene; a cross section of the ocean,
revealing what might be hiding in the depths.
backgrounds
Well be using some beautiful stock imagery,
Photoshops blending modes and some masking magic
to create our submersion effect. In this tutorial well also
touch on the blur tools and using colour to set the
in Photoshop
mood of your image. Youll need an image of an
elephant or large animal, an image of the ocean, an
underwater shot and a mountain range. Well be
producing a surreal scene but you can use these same
techniques to create more realistic images.
USE PHOTOSHOP CS6 TO MAKE A STUNNING
PARTIAL-SUBMERSION OCEAN SCENE AND SHOW
WHAT LIES IN THE DEEP
08 Underwater effect
The water will now look a little intense. To fix
this, Cmd/Ctrl+click on the elephant layer mask in the 09 Blurring the lines
Next we want to add a bit of perspective to
layers palette, inverse the selection and select the the image. Copy your sky and ocean layer and select a
ocean layer thats on top. Using a soft brush at 50% small section at the bottom. Crop this section and select 03: Falling water
Create a scatter brush with 80% scatter and
Opacity, erase the ocean around the elephant before Blur>Gaussian Blur and change the radius to 5px. Move create a new layer. Using white, draw
setting the blending mode to Hard Light. The elephant it down 1 or 2px from its original position. The front of waterfalls rushing down the mountains.
should now look more like its underwater. the water should now look out of focus. Adjust opacity for a more realistic look.
10 Getting rocky
Now were going to create the more surreal
aspects of our partial-submersion scene. Place your
11 Mask the mountains
Using the Pen or Marquee tool, select just the
mountains imaged. Create a layer mask on this layer and,
mountain image on the canvas. Lower the opacity using a black brush, erase everything except for the parts
and line it up with your elephant. Were going to you want to keep. You may find that you need to sculpt the
make it look like the elephants back is made of mountains so that they come down to meet the water
mountains on an island rising out of the sea. where the elephants head does.
12 Elephant texture
Create a copy of your elephant layer, then
Cmd/Ctrl+click on the mountains layer mask to make a
selection. Crop the elephant to this selection so you
now have an elephant skin texture in the shape of the
mountain range. Use the clone tool to fill in any gaps
between the elephant and the top of the mountain.
20 Add Noise
To finish off our partial-submersion image, we want
to add some nice noise. This will make the image pop and add
to the surreal feel. Create a new layer, under your top two
adjustment layers, and fill it with white. Go to Filter>Noise>
Add Noise. Set the amount to 15% and choose Gaussian
and Monochromatic.
21 Finishing touches
Select your noise layer and change the blending mode to Multiply. Some areas of the image
might look a little too noisy. If this is the case, go to Layer>Layer Mask>Reveal All and with a soft, 50%
Opacity, black brush, go over any areas that need toning down.
Add an TUTORIAL
OBJECTIVE
Get selling online with a
CSS3 web element
SELLING ONLINE PROVIDES the
opportunity for many businesses to
reach out to huge, untapped markets.
When your store can be open 24 hours a
eCommerce TIME REQUIRED day and you can reach a global market without the
1 hour costs of mailings and call centres, it can provide a
huge boost to your business. But there are plenty of
things to consider when designing an eCommerce
web element
site. Its not as simple as throwing up some shopping
cart software and plopping products into a database.
With the power of CSS3, it is possible to create some
very cool and effective web elements that can just
with CSS3
slot into place on any eCommerce website.
The products that you or your client are selling
need to stand out and the all-important buttons such
as Add to Cart need to be prominent and stylish. It is
essential to think about the presentation of customer
USING CSS3, CREATE A SIMPLE AND APPEALING reviews, the price and product description. All of
SHOPPING CART WEB ELEMENT THAT WOULD BE these things need to be easy to accomplish, and with
USEFUL ON AN ECOMMERCE WEBSITE CSS3, those things just got a whole lot easier. So in
this tutorial, we will look at how we can create a
fictional product and turn it into an appealing and
interactive web element using the power of CSS3
lets get started!
01 Set everything up
05 The CSS
006 </div>
First thing we need to do is create a new HTML5 007 Open up a CSS file and start adding some styles.
document with a link to your stylesheet within the head. 008 </div><!-- END product --> First add in some default styles within the body selector.
Then within the <body> tag, we can create two <div>s with 009 Weve set our font to Arial and given it a light grey colour,
a class name of container and then block, making sure we and well use a patterned background for the page. Finish
comment the closing tags for better readability.
001 <body>
03 Product information
Now lets add in some information about our
product. Firstly create a <div> with a class name of info and
off by giving our container <div> some width and margin.
001 body {
002 then add in the product title, wrapped within a <h4> header 002 font-family: Arial, sans-serif;
003 <div class=container> element. We then add in a little text describing our product 003 color: #aaaeb2;
004 and then finish off with the price and a Buy now button. 004 background: #f1f1f1 url(../images/
005 <div class=block> bg.png);
04
006 Star ratings 005 }
007 </div><!-- END block --> In the final bit of HTML, were going to add in a 006
008 star rating section that will be positioned at the very 007 .container {
009 </div><!-- END container --> bottom of our product block. We just simply add a <div> 008
010 with a class name of details and create an unordered list 009 width: 900px;
011 </body> with a class called rating. In a later step, were going to use 010 margin: 0 auto;
a CSS sprite to show a different-coloured star. 011 }
<above> <above>
s"EEJOHUIFQSPEVDUJNBHFIFSFIBTHJWFOVTTPNFUIJOHUPXPSLBSPVOE s5IF$44GPSUIFA"EEUP$BSUCVUUPOJTDPNQMFUF
OPXXFNPWFPOUPUIFOFYUCVUUPO
<above>
s4PNFPGUIFCBTJDTUZMJOHBEEFEUPUIFNBJOCVUUPOT A"EEUP$BSUBOEA7JFX <above>
*UFN
XJMMCFWJFXBCMFPODFUIFQSPEVDUJNBHFJTNPVTFEPWFS s*OUIJTTUFQ
XFSFKVTUBEEingBTJNQMFBDUJWFTUBUFPOUIFA7JFX*UFNCVUUPO
07 Product image
001 .info { 001 .buttons a {
Now lets set some styles for our product image. 002 display: block; 002 display: block;
Ensure the image is set to block and position is set to 003 position: relative; 003 position: absolute;
relative. Then we can set the width to 100% so it drops into 004 padding: 20px; 004 left: 50px;
the main product block. After that, we finish off by giving 005 } 005 width: 115px;
the top corners the same radius as the block. 006 006 border-radius: 2px;
007 .details { 007 padding: 18px 10px 15px 65px;
001 .product { 008 border-top: 1px solid #e5e5e5; 008 font-family: Helvetica, sans-serif;
002 display: block; 009 padding: 18px 20px; 009 font-size: 14px;
003 position: relative; 010 } 010 font-weight: bold;
004 } 011 text-transform: uppercase;
<above left>
s5IJOHTBSFTUBSUJOHUPUBLFTIBQFRVJUFOJDFMZOPXUIBUTPNFTUZMJOHIBTCFFOBEEFEUPUIF
QSPEVDUEFTDSJQUJPO
<above right>
s5IJOHTBSFSFBMMZTUBSUJOHUPUBLFTIBQFOPXXFIBWFBEEFETPNFTUZMFTUPPVSQSPEVDUQSJDF
<top right>
s5IF#VZ/PXCVUUPOJTUIFMBTUTUFQUPJOJTIPGUIFQSPEVDUEFTDSJQUJPOTFDUJPO
<bottom right>
s5IFJOBMFMFNFOUJTUIFTUBSSBUJOHTFDUJPO*UJTIFSFUIBUUIFMJTUFMFNFOUTBSFUSBOTGPSNFEJOUPTUBST
11 Icon styling
003 background: #414141; 009 background-size: 400px 80px;
Here we set some styling for the icons that will be 004 background: rgba(0, 0, 0, .85); 010 background-repeat: no-repeat;
added in the next step to both of the large buttons. Make 005 transition: background .2s ease-in; 011 box-shadow: 0 2px 0 #165181;
sure the content is empty and then set a height and width. 006 } 012 transition: background-position .2s
Then, divide the area where the icon will be by adding a 1px 007 .buy:hover { ease-in;
border to the right. Then add a subtle drop shadow. 008 background: #515151; 013 }
009 background: rgba(45, 45, 45, .85); 014 .preview:hover, .buy_now:hover {
001 .buttons a::after 010 } 015 background-position: 0 0;
002{ 011 016 }
003 content: ; 012 .buy::after {
15 Information arrow
to the left. gradient(bottom, #1d4970, #639ed3);
007 background: -moz-linear- Lets create the small arrow that we see pointing
001 a.buy { gradient(bottom, #286398, #639ed3); up to the product image just above the products title. This
002 top: 20%; 008 background-position: 0 -15px; is going to be very simple. All we need to do is create a
16 Product title Helvetica, Arial, sans-serif; x from the left, and y from the top. Its a handy way
In this simple step, we will apply some styles to 010 color: #fff; to move elements as it gives you full control of its
the product title to give our product description some 011 font-weight: bold; positioning from using only one line of code.
shape. Start by setting the position to relative and giving it 012 text-decoration: none;
some padding and margin. Then set the font family, font 013 font-size: 15px; transform: translate(2px, 10px);
weight and size. Finish up by pulling all the letters in slightly, 014 text-shadow: 0 -1px 1px rgba(0, 0, 0, To give us greater control, we can also use negative
using a negative value to the letter spacing. .4); values on either the x or y values. The line of code
015 below, for example, allows us to move an element
20
007 height: 2px; The rating section 002 float: left;
008 background: #3b86c4; Here we deal with the star rating section. We 003 display: block;
009 } position the unordered list over to the right and zero out 004 height: 16px;
010 any default margin or padding. Once we do this, the block 005 width: 16px;
011 .info .description { will become shorter and our bullet points will be 006 margin-left: 5px;
012 display: block; overflowing. Lets sort that out next. 007 background: url(../images/stars.png)
013 padding-bottom: 20px; no-repeat 0 0;
014 font-family: Arial, sans-serif; 001 .rating { 008 }
015 font-size: 14px; 002 position: relative; 009
016 font-weight: 600; 003 top: 2px; 010 .rating li.rated {
017 color: #5f5f5f; 004 float: right; 011 background-position: 0px -16px;
018 } 005 margin: 0; 012 }
019 006 padding: 0; 013
007 }
18 The price
Having now got a lot of the product description
done, there are only two things left to do, one of which is 21 Seeing stars
On this final CSS rule, we are going to add in our
22 Final thoughts
eCommerce is forever growing on the web,
and the need to design cool and functional web
simple: give the product price a little bit of much-needed stars. We have included a PNG file called stars.png on the elements is becoming more and more achievable
styling. Ensure that you have a play around with this; resource disc that you can use. Were going to use this as a when using CSS3. So, experiment with what youve
sometimes a bigger font would look better, or perhaps CSS sprite and first position the green stars that have the learned throughout this tutorial and see what you
even a different colour would work well. class name of .rated added to the <li> item. can produce!
Enjoyed
this book?
Exclusive offer for new
Try
3 issues
for just
5 *
* This offer entitles new UK Direct Debit subscribers to receive their rst 3 issues for 5. After these issues, subscribers will then pay
25.15 every 6 issues. Subscribers can cancel this subscription at any time. New subscriptions will start from the next available issue.
Offer code ZGGZINE must be quoted to receive this special subscription price. Direct Debit Guarantee available on request.
This offer will expire on 31 October 2016.
** This is a US subscription offer. The USA issue rate is based on an annual subscription price of 65 for 13 issues which is equivalent
to $102 at the time of writing compared with the newsstand price of $14.99 for 13 issues being $194.87. Your subscription will start
from the next available issue. This offer expires on 31 October 2016.
Uncover the
secrets of
web design
Practical projects
Every issue is packed with step-by-step tutorials
for Flash, Dreamweaver, Photoshop and more
About In-depth features
the Discover the latest hot topics in the industry
subscribers to
WEB
THE
BOOK
DESIGN
Perfect coding with the brand-new Web Design Book. Packed
with in-depth features and step-by-step guides covering
everything from HTML & CSS to designing mobile apps, youll
find everything you need to know to become a master.
Also available
WORDPRESS
Master the expert skills needed to create better blogs