Taught by James Steinbach / @jdsteinbach
[Local]
Unzip and copy files & folders to root of local hosting directory.
[FTP]
Unzip and upload files & folders to root of live hosting directory.
PHPMyAdmin
http://yourserver.com/phpmyadmin/
Things to remember:
localhost
http://yourserver.com/
localhost
.9ns7_
admin
!Appearance → Themes
Professional Developers
Quality Theme Stores
Build Them Yourself!
Base64 Encoding
TimThumb Images
Just themes that cost $$
“Premium” doesn't guarantee quality
Speed: Test the demo page
developers.google.com/speed/ pagespeed/insights/
Security: Run Theme Check plugin
wordpress.org/plugins/theme-check/
Search all theme files for:base64
| eval
| timthumb
You've got an existing theme,
that theme gets automatic updates,
but you need to make modifications
A small set of custom theme files
that relies on another theme
but adds or overrides templates or styles
style.css
functions.php
style.css
/*
Theme Name: Twenty Sixteen Child
Theme URI: http://example.com/twenty-sixteen-child/
Description: Twenty Sixteen Child Theme
Author: John Doe
Author URI: http://example.com
Template: twentysixteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: twenty-sixteen-child
*/
style.css
Template: twentysixteen
The “Template” is the folder name of the parent theme.
Start writing your CSS overrides below.
Create your child theme's functions.php
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri().'/style.css' );
}
?>
Don't use CSS @import
.
Added to functions.php
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_google_fonts' );
function enqueue_google_fonts() {
wp_dequeue_style( 'twentyfifteen-fonts-css' );
wp_enqueue_style( 'google-fonts',
'//fonts.googleapis.com/css?family=Lato:400,400italic,700,700italic|Merriweather:400,400italic,700,700italic' );
}
?>
Add to style.css
body {
font-family: Lato;
}
h1, h2 {
font-family: Merriweather;
}
WordPress has a set way of naming template files for any kind of content a theme or plugin can create.
If you use any filenames that match the WP naming convention, you'll override the parent theme's files.
Single Post: “Intermediate WordPress”
single-post.php
single.php
singular.php
index.php
Post Category = /music/
category-music.php
category.php
archive.php
index.php
Single Page: “Contact Me” (id = 38)
page-contact-me.php
page-38.php
page.php
singular.php
index.php
Post Type Archive = /events/
archive-events.php
archive.php
index.php
Post Type Single = /events/
single-events.php
single.php
singular.php
index.php
Recommendations from experienced developers
Open source code
Other contributions to WP Plugin Repo
Best security with the least set-up work
Scan site for vulnerabilities / compromises
A lot more work up front, but more configurable
Plays nicer with certain other plugins
Schedule backups of your database & files
Store backups on Dropbox, Google Drive, or Amazon S3
Pro Version: $75
Update all your WP sites from 1 dashboard
Create cached copies of all your site pages
Minify and concatenate your scripts & styles
Less complex than W3 Total Cache
Just caching, not minifying / concatenating
Maintained by Automattic
Works in the background to compress all images upoaded to the site
Bulk optimizes existing images
Customize post / page titles and meta for search engines
Scan content for target search terms
Authenticate through Google, or paste your tracking number
Automatically adds GA code to all posts/pages
Forms
Custom Content
Styles
Sales
Advanced drag & drop form creator
Customizable email routing for submissions
Bulk export entries
Pro Version: $70
Similar features to Formidable Pro, cost $40
Super “simple,” but not accessible at all
Create custom post types and taxonomies
Create custom fields for post types and taxonomies
Separate, paid upgrade from same developers
Create custom template pages without writing PHP
Part of a $150 plugin package
Create custom field groups and attach them to any piece of content
Requires PHP knowledge to build custom templates
Pro Version: $25
Paste a Typekit kit ID
It automatically adds the Typekit JS to your site
Don't pick too many fonts!
Custom online store management
Display and sell products (physical or digital)
Basic store functionality is free, but many paid upgrades