SlideShare a Scribd company logo
Shelley Keith and Stephanie Leary
The WordPress University
New book coming Fall
2014!
Content Strategy for WordPress
demonstrates how to build structured
content for higher ed sites.
Sign up to be notified when it’s out:
http://sleary.me/list
Who we are
Shelley (@sk140)
Lone web geek on a campus
of ~3500 students and 400
faculty/staff.
HEWEB program committee
since 2006. Chaired regional
HEWEB 2010 & 2011 events.
Launched WPMU in May
2009. Alone.
Stephanie (@sleary)
Lone web geek in an office of
6 (+45 student tutors)
serving 50,000 students.
HEWEB program committee,
2005-2009.
Launched single WP sites in
2008; consolidated network
August 2010.
17 plugins on Extend.
We
made
this
Why WordPress?
Why WordPress?
Shelley, 2005
• Zero dedicated web
staff
• No budget
• 16,000 html files
• Rampant
duplication
• Headers and
navigation files
(template)
• Images
• 4700 broken links
• No search
• No site map
• No analytics
• No remote access
• No process
• No hope
• MS FrontPage
Why WordPress?
Stephanie, 2008
• Creaky Mambo site precariously
upgraded to Joomla 1.15
• 1.5 wasn't out yet, beta broke our
theme and all our plugins
• Confusing divisions of content in admin
screens
• Comments required plugin, [mxc] code
inserted into content
Why WordPress?
Stephanie, 2008
• No RSS feeds. My predecessor had a
desktop app to generate them by hand.
• No podcasting. Uploaded MP3s to FTP
server, inserted links, did RSS by hand.
• Terrible search... also plugin-based.
• No budget.
The Drupal Detour
(a 17-month mistake)
• 6 was out, but plugins hadn't been
updated.
• Emulating WP's simple editing UI -- rich
text editor, media upload/insert --
required 3 plugins meant to work
together. They didn't.
• Post editing UI overwhelmed by
taxonomies and podcasting module.
The Drupal Detour
(a 17-month mistake)
• Clean URL module flaky, self-
contradictory; couldn't stabilize.
• "View" creation required master's
degree in HCI.
• Couldn't create multiple blogs without
tying them to users.
• Recommended upgrade process
documented at 18 hours.
Advantages
• UI for posts and pages: EASY
• Scheduling: EASY
• Clean URLs
• feeds for everything (feed table handout)
• One-click upgrades
• widgets and menus
• Free in the repository: 16k plugins & 1,400
themes
Weaknesses
• Lacks native reusable content & network-
wide internal linking system
• Requires caching plugin, not included, to
optimize speed
• Critical plugins can fail as WP advances
• Disjointed and incomplete advanced
documentation
• Heavy use of pages can be problematic
• Lacks robust native workflow
Multisite and Child
Themes
• Setup options
• site.domain.edu
• domain.edu/site
• Theme Frameworks
• Genesis
• Thematic
• Headway
• Whiteboard
Compared to other
CMSs
• Fast development cycles
• WP 3.0 to 3.1: 8 months
• Drupal 6.0 to 7.0: 3 years
• Joomla 1.5 to 1.6: 3 years
• Cohesive, disciplined core developer
group
• UI focused on ease of use
Compared to other
CMSs
• Core features work very well
• Comments
• RSS and Atom feeds
• Permalinks
• Nonessential features relegated to
plugins
Making the Case for
WordPress
LAMP vs. IIS 7
• mod_rewrite
• .htaccess
• URL Rewrite 1.1
• PHP running as
FastCGI
Open Source vs.
Commercial
Open Source
Low or no initial budget
outlay
Premium support
options available
Variety of custom
development options
--------------------------------
Shelley launched in 2009
with $2k
Commercial
High startup costs
Enterprise support
contracts available
Often contracted to the
CMS company
for customization
-------------------------------
Texas 2yr launching
OmniUpdate this year:
WordPress Tour
5 Minute Installation!
Unless your campus infrastructure sucks.
Basic Installation
• Gather database information: name,
username, password
• Unzip files to server
• View in browser
• Fill in values
• Pass Go, collect $200
Network Setup
• Decide: subdirectories or subdomains?
• Wildcard DNS is not required if you are
not letting people sign up for new sites
on their own.
• Users already in the system can be
added to the new site.
• http://codex.wordpress.org/Create_A_N
etwork
Domain Mapping
• snoopy.wordpress.com ->
snoopycorp.com
• snoopy.webserver-1.school.edu ->
snoopy.school.edu
• WordPress MU Domain Mapping
Migrating Single Sites
to Networks
• Import from single WP install or other
supported CMS
• Import from RSS
• HTML Import
Troubleshooting
• define('WP_DEBUG', true);
• Debug Bar plugin
• View hooks
• See Nacin on debugging WordPress
Themes
Basic Theme Setup
• styles.css and index.php
• More specific files for each archive type:
• Single post, page, or custom post type
• Category and tag archives; custom taxonomies
• Date-based archives (day, month, year)
• functions.php turns on feature support; works
like mini-plugin
• header.php, footer.php, sidebar.php -- basic
includes
• comments.php
How this comes
together...
• You click a category link on a post.
• Based on your permalink structure, WordPress
knows you are requesting a list of posts in that
category. It queries the database.
• It finds 53 posts. Your Reading setting says 20
per page.
• WordPress assembles the first 20 posts' data,
plus links to two more pages.
Which template?
• Which theme file is used?
• category-slug.php
• category-id.php
• category.php
• archive.php
• index.php
• See Show Template plugin
More Advanced Themes
Page templates
Multiple sidebars
Widget areas
Using get_template_part()
and specialized loop files
Theme options
Editor styles
Tips:
handling subcategories
without tons of files
conditional sidebars
Child Themes
/*
Theme Name: UWC 2011
Description: Child theme for the Writing Center
Version: 1.0
Author: Stephanie Leary
Author URI: http://uwc.tamu.edu
Template: US2011
*/
@import url(../US2011/style.css);
/* Overrides: */
Other Child Theme Files
• If template is present in child theme,
use instead of parent file
• BOTH functions.php files will be used
Theme Frameworks
• A complete theme with many options
• Page templates
• Specific archives
• Many widget areas
• SEO features
• custom fields for keywords
• title filters
• Genesis Google snippet preview
• Can be overridden by child themes
Building a Theme
1.Craft your HTML structure
2.Drop in WordPress template tags
• the_title()
• the_content()
• etc.
3.Move common elements into include
templates
• Header
• Footer
• Sidebars
• Search form
Building a Theme
4.Create widget areas
5.Handle comments and comment
forms
6.Don't forget 404.php!
Creating Your Own
Widgets
• WP_Widget class
• constructor
• specify widget title & make it go
• widget
• generate output
• update
• handle form input, save options
• form
• display form fields
• See /wp-includes/default-widgets.php
for examples
Theme Q&A
Break
Performance and
Security
Backing Up
• WP DB Backup (single sites, database
only)
• Backup Buddy (network, database and
files, $$)
Upgrading
• Do it! (But back up first.)
• If the FTP Settings screen appears, add to wp-
config.php:
• //Force direct upgrade/install without making
Apache the owner
define( 'FS_METHOD', 'direct' );
define( 'FS_CHMOD_DIR', 0775 );
define( 'FS_CHMOD_FILE', 0664 );
• (Assuming you and Apache are in the same
group)
• Upgrading via SSH
Permalink Settings
• For best performance, use the built-in
options
• Verbose rules to be fixed in 3.3
(Thanksgiving-ish)
• /%category%/%postname%/
Caching
• WP Super Cache
• W3 Total Cache
• Hyper Cache
• Batcache
Security Precautions
• Make sure WP files are group-writeable,
not world
• Set permalinks and caching, then make
.htaccess not writeable
• No admin user
• Change database table prefix from wp_
Security Precautions
• Move wp-config.php up one directory
• Prevent bogus login attempts with Login
Lockdown
• Run WP Security Scan and Exploit
Scanner
• Monitor filesystem with File Monitor Plus
Security Plugins
• Login Lockdown or Limit Login
Attempts
• Force SSL
• WordPress Firewall
• WP Security Scan
• Exploit Scanner
• File Monitor Plus
• Audit Trail
Evaluating Themes
and Plugins
• Search code for:
• base64()
• eval()
• include(../../w
p-config.php)
• Does it use
updated libraries?
• Are wp_head()
and wp_footer()
missing?
• Does it insert
links you can’t
remove?
• Does it pester you
for commercial
upgrades?
Writing Secure
Themes and Plugins
• Use the Settings API
• Check user capabilities
• Check nonces and referrers
• Validate user input
• Escape output
• Mark Jaquith on WP security
• Professional WordPress Plugin
Development
More With WordPress
BuddyPress
Social Network Layer
BuddyPress
• Good Uses:
• Campus wide social network
• Company-wide internal communication
tool
• Niche social network for interest topic
• Benefits
• Own the content
• Long-term relationship maintenance
• Timely integration and removal of popular
BuddyPress Plugins
• Welcome Pack
• Achievements
• BuddyPress Share It
• Group Suggest Widget
• Simple Google Map Plugin
CollabPress
Task Management for WordPress
CollabPress
eCommerce Plugins
$$
ScholarPress
A Learning Management System for
BuddyPress
Content Audit
"Now we’re talking real CMS capability!"
Custom Fields,
Taxonomies, and Post
Types
Custom Fields
• Adding more information to posts.
• Default input vs. custom meta boxes
• Examples: content audit notes,
professor contact info
Taxonomies
• Extra sets of categories and tags
• People
• Movie DB
• Taxonomy Tools
• Scribu's Query Multiple Taxonomies
widget
• Otto on complex taxonomy queries
Custom Post Types &
Taxonomies
• Default post types:
• Posts, Pages
• Attachments
• Revisions
• Menu Items
• Potential uses
• Course descriptions
• Media database
• Seminar series
• Employee Directory
• Default Taxonomies
• Categories
• Post Tags
• Menus
• Link Categories
• Potential Uses
• Video
• People
Post Types
• Things that are not posts OR pages:
• products
• books
• courses
• Anything that needs to be cataloged and
displayed separately.
• Course Post Type: sample plugin code
• Custom fields: professor name, email, phone;
course code
• Taxonomies: college, department
• Create your own: register_post_type()
Custom Post Type
Resources
• Custom Post Types in WordPress
• Custom Post Types in WordPress 3.0
• Custom Post Types and Custom
Taxonomies
• Introducing WordPress 3 Custom
Taxonomies
• Custom Post Types and Taxonomies in
WordPress
The WordPress
Community
Development Philosophy
• 2.9, 3.0, 3.1, 3.2, 3.3 are all major
releases.
• 3.2.1 is a bugfix and security update.
• Old releases do not get security
updates.
• Core developers set feature agenda for
major releases based on Trac tickets,
known problems, and user surveys.
Development Philosophy
• Development schedule kept on
wpdevel.wordpress.com.
• Meetings once a week in #wordpress-
dev.
• If it can be covered by a plugin, let it.
Core is for features most people need,
or frameworks developers can build on.
• If you want it fixed sooner, patch it
yourself.
Documentation
• Codex
• Forum
• WP StackExchange
• Trac
• Developers’ blogs
Support
• Contract available from Automattic (core
creators)
• Third party vendors such as
MUSupport.net.
• Active user forums on
www.wordpress.org, wpbeginner provides
some paid support options
• Individual plugin & theme developers
• Groups on LinkedIn, huge Twitter
population
Discussion
IRC channels
• #wordpress
• #wordpress-dev
• #buddypress
• #bbpress
Listserves
• WP-Hackers
• WP-Edu
wp-edu.org
Development blogs
• wpdevel
• make/ui
• make/themes
• make/accessibility
• wppolyglots
News Events
WordCamps
• San Francisco
• New York
• local:
central.wordcamp.org
• WP Candy
• Planet WordPress
• wpMail.me
• wpBeginner
• wpTuts
Q&A
Demos?
• Network administration?
• Plugins
• BP
• Collab
• Scholar
• Edit Flow and/or Editorial Calendar
• Content Audit
• HTML Import, if there's interest

More Related Content

What's hot

72d5drupal
72d5drupal72d5drupal
72d5drupal
Mahesh Sherkar
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Up2 Technology
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
hernanibf
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
hernanibf
 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleigh
Glenn Ansley
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
librarywebchic
 
Wordpress website development
Wordpress website developmentWordpress website development
Wordpress website development
John Faust
 
Content First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesContent First – Planning Drupal Content Types
Content First – Planning Drupal Content Types
Carrie Hane
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress Theme
Julie Kuehl
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
David Brattoli
 
Wordpress beyond blogging
Wordpress beyond bloggingWordpress beyond blogging
Wordpress beyond blogging
Julien Minguely
 
WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational Intranet
Tech Liminal
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
hernanibf
 
The WordPress University 2012
The WordPress University 2012The WordPress University 2012
The WordPress University 2012
Stephanie Leary
 
Open Source CMS
Open Source CMSOpen Source CMS
Open Source CMS
librarywebchic
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type Checklist
Acquia
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Suzanne Dergacheva
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed Content
Nicolle Morton
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Suzanne Dergacheva
 

What's hot (20)

72d5drupal
72d5drupal72d5drupal
72d5drupal
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleigh
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
 
Wordpress website development
Wordpress website developmentWordpress website development
Wordpress website development
 
Content First – Planning Drupal Content Types
Content First – Planning Drupal Content TypesContent First – Planning Drupal Content Types
Content First – Planning Drupal Content Types
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress Theme
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
 
Wordpress beyond blogging
Wordpress beyond bloggingWordpress beyond blogging
Wordpress beyond blogging
 
WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational Intranet
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
The WordPress University 2012
The WordPress University 2012The WordPress University 2012
The WordPress University 2012
 
Open Source CMS
Open Source CMSOpen Source CMS
Open Source CMS
 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type Checklist
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed Content
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
 

Viewers also liked

System Shoot Advertiser En
System Shoot Advertiser EnSystem Shoot Advertiser En
System Shoot Advertiser En
ecomjsc
 
Focus: Means More Than You Think
Focus: Means More Than You ThinkFocus: Means More Than You Think
Focus: Means More Than You Think
Olivia Fisher
 
WordPress Hidden Gems (July 2011)
WordPress Hidden Gems (July 2011)WordPress Hidden Gems (July 2011)
WordPress Hidden Gems (July 2011)
Stephanie Leary
 
Keeping It Simple
Keeping It SimpleKeeping It Simple
Keeping It Simple
Stephanie Leary
 
Content First in Action
Content First in ActionContent First in Action
Content First in Action
Stephanie Leary
 
There's a Plugin for That
There's a Plugin for ThatThere's a Plugin for That
There's a Plugin for That
Stephanie Leary
 

Viewers also liked (6)

System Shoot Advertiser En
System Shoot Advertiser EnSystem Shoot Advertiser En
System Shoot Advertiser En
 
Focus: Means More Than You Think
Focus: Means More Than You ThinkFocus: Means More Than You Think
Focus: Means More Than You Think
 
WordPress Hidden Gems (July 2011)
WordPress Hidden Gems (July 2011)WordPress Hidden Gems (July 2011)
WordPress Hidden Gems (July 2011)
 
Keeping It Simple
Keeping It SimpleKeeping It Simple
Keeping It Simple
 
Content First in Action
Content First in ActionContent First in Action
Content First in Action
 
There's a Plugin for That
There's a Plugin for ThatThere's a Plugin for That
There's a Plugin for That
 

Similar to The WordPress University

Wordpress intro
Wordpress introWordpress intro
Wordpress intro
the-colab
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Plugins
superann
 
WordPress Complete Tutorial
WordPress Complete TutorialWordPress Complete Tutorial
WordPress Complete Tutorial
OpenSource Technologies Pvt. Ltd.
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
Boston WordPress
 
WordPress - Open Source Overview Presentation
WordPress - Open Source Overview PresentationWordPress - Open Source Overview Presentation
WordPress - Open Source Overview Presentation
Andy Stratton
 
Emkane RCC wp qs
Emkane RCC wp qsEmkane RCC wp qs
Emkane RCC wp qs
Eileen MacAvery Kane
 
UNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF PresentationUNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF Presentation
Nick Young
 
WordPress - fixing sites with problems
WordPress - fixing sites with problemsWordPress - fixing sites with problems
WordPress - fixing sites with problems
Victoria Pickering
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
The Toolbox, Inc.
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
Jonny Allbut
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Acquia
 
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slidesKeep Your Code Organized! WordCamp Montreal 2013 Presentation slides
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
Jer Clarke
 
Wordpress 101
Wordpress 101Wordpress 101
Wordpress 101
Brian McDonald
 
Wp nhcc portfolio
Wp nhcc portfolioWp nhcc portfolio
Wp nhcc portfolio
gregorvios
 
Get Involved with WordPress
Get Involved with WordPressGet Involved with WordPress
Get Involved with WordPress
Mario Peshev
 
Educause 2014: Building Academic Websites (in the Real World)
Educause 2014: Building Academic Websites (in the Real World)Educause 2014: Building Academic Websites (in the Real World)
Educause 2014: Building Academic Websites (in the Real World)
Valerie Forrestal
 
MCC Web Design Workshop
MCC Web Design WorkshopMCC Web Design Workshop
MCC Web Design Workshop
Faye Tandog
 
Websites With Wordpress
Websites With WordpressWebsites With Wordpress
Websites With Wordpress
Charly Leetham
 
Starting WordPress Theme Review
Starting WordPress Theme ReviewStarting WordPress Theme Review
Starting WordPress Theme Review
Catch Themes
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
European Collaboration Summit
 

Similar to The WordPress University (20)

Wordpress intro
Wordpress introWordpress intro
Wordpress intro
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Plugins
 
WordPress Complete Tutorial
WordPress Complete TutorialWordPress Complete Tutorial
WordPress Complete Tutorial
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
 
WordPress - Open Source Overview Presentation
WordPress - Open Source Overview PresentationWordPress - Open Source Overview Presentation
WordPress - Open Source Overview Presentation
 
Emkane RCC wp qs
Emkane RCC wp qsEmkane RCC wp qs
Emkane RCC wp qs
 
UNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF PresentationUNC CAUSE 2010: Drupal BOF Presentation
UNC CAUSE 2010: Drupal BOF Presentation
 
WordPress - fixing sites with problems
WordPress - fixing sites with problemsWordPress - fixing sites with problems
WordPress - fixing sites with problems
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
 
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slidesKeep Your Code Organized! WordCamp Montreal 2013 Presentation slides
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slides
 
Wordpress 101
Wordpress 101Wordpress 101
Wordpress 101
 
Wp nhcc portfolio
Wp nhcc portfolioWp nhcc portfolio
Wp nhcc portfolio
 
Get Involved with WordPress
Get Involved with WordPressGet Involved with WordPress
Get Involved with WordPress
 
Educause 2014: Building Academic Websites (in the Real World)
Educause 2014: Building Academic Websites (in the Real World)Educause 2014: Building Academic Websites (in the Real World)
Educause 2014: Building Academic Websites (in the Real World)
 
MCC Web Design Workshop
MCC Web Design WorkshopMCC Web Design Workshop
MCC Web Design Workshop
 
Websites With Wordpress
Websites With WordpressWebsites With Wordpress
Websites With Wordpress
 
Starting WordPress Theme Review
Starting WordPress Theme ReviewStarting WordPress Theme Review
Starting WordPress Theme Review
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
 

More from Stephanie Leary

WordPress for the 99%
WordPress for the 99%WordPress for the 99%
WordPress for the 99%
Stephanie Leary
 
Writing for the Web in Government and Education
Writing for the Web in Government and EducationWriting for the Web in Government and Education
Writing for the Web in Government and Education
Stephanie Leary
 
Getting to WordPress
Getting to WordPressGetting to WordPress
Getting to WordPress
Stephanie Leary
 
Content Strategy for WordPress: Case Study
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case Study
Stephanie Leary
 
Content Strategy for WordPress
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPress
Stephanie Leary
 
WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)
Stephanie Leary
 
Tricky Migrations
Tricky MigrationsTricky Migrations
Tricky Migrations
Stephanie Leary
 
Importing & Migrating
Importing & MigratingImporting & Migrating
Importing & Migrating
Stephanie Leary
 
WordPress Hidden Gems
WordPress Hidden GemsWordPress Hidden Gems
WordPress Hidden Gems
Stephanie Leary
 
What's New in WordPress 3.0 (for developers)
What's New in WordPress 3.0 (for developers)What's New in WordPress 3.0 (for developers)
What's New in WordPress 3.0 (for developers)
Stephanie Leary
 
I'm with Stupid
I'm with StupidI'm with Stupid
I'm with Stupid
Stephanie Leary
 
Social Media for Researchers
Social Media for ResearchersSocial Media for Researchers
Social Media for Researchers
Stephanie Leary
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)
Stephanie Leary
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
Stephanie Leary
 

More from Stephanie Leary (14)

WordPress for the 99%
WordPress for the 99%WordPress for the 99%
WordPress for the 99%
 
Writing for the Web in Government and Education
Writing for the Web in Government and EducationWriting for the Web in Government and Education
Writing for the Web in Government and Education
 
Getting to WordPress
Getting to WordPressGetting to WordPress
Getting to WordPress
 
Content Strategy for WordPress: Case Study
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case Study
 
Content Strategy for WordPress
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPress
 
WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)
 
Tricky Migrations
Tricky MigrationsTricky Migrations
Tricky Migrations
 
Importing & Migrating
Importing & MigratingImporting & Migrating
Importing & Migrating
 
WordPress Hidden Gems
WordPress Hidden GemsWordPress Hidden Gems
WordPress Hidden Gems
 
What's New in WordPress 3.0 (for developers)
What's New in WordPress 3.0 (for developers)What's New in WordPress 3.0 (for developers)
What's New in WordPress 3.0 (for developers)
 
I'm with Stupid
I'm with StupidI'm with Stupid
I'm with Stupid
 
Social Media for Researchers
Social Media for ResearchersSocial Media for Researchers
Social Media for Researchers
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 

The WordPress University

  • 1. Shelley Keith and Stephanie Leary The WordPress University
  • 2. New book coming Fall 2014! Content Strategy for WordPress demonstrates how to build structured content for higher ed sites. Sign up to be notified when it’s out: http://sleary.me/list
  • 3. Who we are Shelley (@sk140) Lone web geek on a campus of ~3500 students and 400 faculty/staff. HEWEB program committee since 2006. Chaired regional HEWEB 2010 & 2011 events. Launched WPMU in May 2009. Alone. Stephanie (@sleary) Lone web geek in an office of 6 (+45 student tutors) serving 50,000 students. HEWEB program committee, 2005-2009. Launched single WP sites in 2008; consolidated network August 2010. 17 plugins on Extend.
  • 6. Why WordPress? Shelley, 2005 • Zero dedicated web staff • No budget • 16,000 html files • Rampant duplication • Headers and navigation files (template) • Images • 4700 broken links • No search • No site map • No analytics • No remote access • No process • No hope • MS FrontPage
  • 7. Why WordPress? Stephanie, 2008 • Creaky Mambo site precariously upgraded to Joomla 1.15 • 1.5 wasn't out yet, beta broke our theme and all our plugins • Confusing divisions of content in admin screens • Comments required plugin, [mxc] code inserted into content
  • 8. Why WordPress? Stephanie, 2008 • No RSS feeds. My predecessor had a desktop app to generate them by hand. • No podcasting. Uploaded MP3s to FTP server, inserted links, did RSS by hand. • Terrible search... also plugin-based. • No budget.
  • 9. The Drupal Detour (a 17-month mistake) • 6 was out, but plugins hadn't been updated. • Emulating WP's simple editing UI -- rich text editor, media upload/insert -- required 3 plugins meant to work together. They didn't. • Post editing UI overwhelmed by taxonomies and podcasting module.
  • 10. The Drupal Detour (a 17-month mistake) • Clean URL module flaky, self- contradictory; couldn't stabilize. • "View" creation required master's degree in HCI. • Couldn't create multiple blogs without tying them to users. • Recommended upgrade process documented at 18 hours.
  • 11. Advantages • UI for posts and pages: EASY • Scheduling: EASY • Clean URLs • feeds for everything (feed table handout) • One-click upgrades • widgets and menus • Free in the repository: 16k plugins & 1,400 themes
  • 12. Weaknesses • Lacks native reusable content & network- wide internal linking system • Requires caching plugin, not included, to optimize speed • Critical plugins can fail as WP advances • Disjointed and incomplete advanced documentation • Heavy use of pages can be problematic • Lacks robust native workflow
  • 13. Multisite and Child Themes • Setup options • site.domain.edu • domain.edu/site • Theme Frameworks • Genesis • Thematic • Headway • Whiteboard
  • 14. Compared to other CMSs • Fast development cycles • WP 3.0 to 3.1: 8 months • Drupal 6.0 to 7.0: 3 years • Joomla 1.5 to 1.6: 3 years • Cohesive, disciplined core developer group • UI focused on ease of use
  • 15. Compared to other CMSs • Core features work very well • Comments • RSS and Atom feeds • Permalinks • Nonessential features relegated to plugins
  • 16. Making the Case for WordPress
  • 17. LAMP vs. IIS 7 • mod_rewrite • .htaccess • URL Rewrite 1.1 • PHP running as FastCGI
  • 18. Open Source vs. Commercial Open Source Low or no initial budget outlay Premium support options available Variety of custom development options -------------------------------- Shelley launched in 2009 with $2k Commercial High startup costs Enterprise support contracts available Often contracted to the CMS company for customization ------------------------------- Texas 2yr launching OmniUpdate this year:
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. 5 Minute Installation! Unless your campus infrastructure sucks.
  • 31. Basic Installation • Gather database information: name, username, password • Unzip files to server • View in browser • Fill in values • Pass Go, collect $200
  • 32. Network Setup • Decide: subdirectories or subdomains? • Wildcard DNS is not required if you are not letting people sign up for new sites on their own. • Users already in the system can be added to the new site. • http://codex.wordpress.org/Create_A_N etwork
  • 33.
  • 34. Domain Mapping • snoopy.wordpress.com -> snoopycorp.com • snoopy.webserver-1.school.edu -> snoopy.school.edu • WordPress MU Domain Mapping
  • 35. Migrating Single Sites to Networks • Import from single WP install or other supported CMS • Import from RSS • HTML Import
  • 36. Troubleshooting • define('WP_DEBUG', true); • Debug Bar plugin • View hooks • See Nacin on debugging WordPress
  • 38. Basic Theme Setup • styles.css and index.php • More specific files for each archive type: • Single post, page, or custom post type • Category and tag archives; custom taxonomies • Date-based archives (day, month, year) • functions.php turns on feature support; works like mini-plugin • header.php, footer.php, sidebar.php -- basic includes • comments.php
  • 39. How this comes together... • You click a category link on a post. • Based on your permalink structure, WordPress knows you are requesting a list of posts in that category. It queries the database. • It finds 53 posts. Your Reading setting says 20 per page. • WordPress assembles the first 20 posts' data, plus links to two more pages.
  • 40. Which template? • Which theme file is used? • category-slug.php • category-id.php • category.php • archive.php • index.php • See Show Template plugin
  • 41. More Advanced Themes Page templates Multiple sidebars Widget areas Using get_template_part() and specialized loop files Theme options Editor styles Tips: handling subcategories without tons of files conditional sidebars
  • 42. Child Themes /* Theme Name: UWC 2011 Description: Child theme for the Writing Center Version: 1.0 Author: Stephanie Leary Author URI: http://uwc.tamu.edu Template: US2011 */ @import url(../US2011/style.css); /* Overrides: */
  • 43. Other Child Theme Files • If template is present in child theme, use instead of parent file • BOTH functions.php files will be used
  • 44. Theme Frameworks • A complete theme with many options • Page templates • Specific archives • Many widget areas • SEO features • custom fields for keywords • title filters • Genesis Google snippet preview • Can be overridden by child themes
  • 45.
  • 46.
  • 47. Building a Theme 1.Craft your HTML structure 2.Drop in WordPress template tags • the_title() • the_content() • etc. 3.Move common elements into include templates • Header • Footer • Sidebars • Search form
  • 48. Building a Theme 4.Create widget areas 5.Handle comments and comment forms 6.Don't forget 404.php!
  • 49. Creating Your Own Widgets • WP_Widget class • constructor • specify widget title & make it go • widget • generate output • update • handle form input, save options • form • display form fields • See /wp-includes/default-widgets.php for examples
  • 51. Break
  • 53. Backing Up • WP DB Backup (single sites, database only) • Backup Buddy (network, database and files, $$)
  • 54. Upgrading • Do it! (But back up first.) • If the FTP Settings screen appears, add to wp- config.php: • //Force direct upgrade/install without making Apache the owner define( 'FS_METHOD', 'direct' ); define( 'FS_CHMOD_DIR', 0775 ); define( 'FS_CHMOD_FILE', 0664 ); • (Assuming you and Apache are in the same group) • Upgrading via SSH
  • 55. Permalink Settings • For best performance, use the built-in options • Verbose rules to be fixed in 3.3 (Thanksgiving-ish) • /%category%/%postname%/
  • 56. Caching • WP Super Cache • W3 Total Cache • Hyper Cache • Batcache
  • 57.
  • 58.
  • 59. Security Precautions • Make sure WP files are group-writeable, not world • Set permalinks and caching, then make .htaccess not writeable • No admin user • Change database table prefix from wp_
  • 60. Security Precautions • Move wp-config.php up one directory • Prevent bogus login attempts with Login Lockdown • Run WP Security Scan and Exploit Scanner • Monitor filesystem with File Monitor Plus
  • 61. Security Plugins • Login Lockdown or Limit Login Attempts • Force SSL • WordPress Firewall • WP Security Scan • Exploit Scanner • File Monitor Plus • Audit Trail
  • 62. Evaluating Themes and Plugins • Search code for: • base64() • eval() • include(../../w p-config.php) • Does it use updated libraries? • Are wp_head() and wp_footer() missing? • Does it insert links you can’t remove? • Does it pester you for commercial upgrades?
  • 63. Writing Secure Themes and Plugins • Use the Settings API • Check user capabilities • Check nonces and referrers • Validate user input • Escape output • Mark Jaquith on WP security • Professional WordPress Plugin Development
  • 66. BuddyPress • Good Uses: • Campus wide social network • Company-wide internal communication tool • Niche social network for interest topic • Benefits • Own the content • Long-term relationship maintenance • Timely integration and removal of popular
  • 67.
  • 68.
  • 69. BuddyPress Plugins • Welcome Pack • Achievements • BuddyPress Share It • Group Suggest Widget • Simple Google Map Plugin
  • 72.
  • 73.
  • 74.
  • 75.
  • 77. ScholarPress A Learning Management System for BuddyPress
  • 78. Content Audit "Now we’re talking real CMS capability!"
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 86. Custom Fields • Adding more information to posts. • Default input vs. custom meta boxes • Examples: content audit notes, professor contact info
  • 87.
  • 88.
  • 89. Taxonomies • Extra sets of categories and tags • People • Movie DB • Taxonomy Tools • Scribu's Query Multiple Taxonomies widget • Otto on complex taxonomy queries
  • 90.
  • 91.
  • 92. Custom Post Types & Taxonomies • Default post types: • Posts, Pages • Attachments • Revisions • Menu Items • Potential uses • Course descriptions • Media database • Seminar series • Employee Directory • Default Taxonomies • Categories • Post Tags • Menus • Link Categories • Potential Uses • Video • People
  • 93. Post Types • Things that are not posts OR pages: • products • books • courses • Anything that needs to be cataloged and displayed separately. • Course Post Type: sample plugin code • Custom fields: professor name, email, phone; course code • Taxonomies: college, department • Create your own: register_post_type()
  • 94.
  • 95.
  • 96. Custom Post Type Resources • Custom Post Types in WordPress • Custom Post Types in WordPress 3.0 • Custom Post Types and Custom Taxonomies • Introducing WordPress 3 Custom Taxonomies • Custom Post Types and Taxonomies in WordPress
  • 98. Development Philosophy • 2.9, 3.0, 3.1, 3.2, 3.3 are all major releases. • 3.2.1 is a bugfix and security update. • Old releases do not get security updates. • Core developers set feature agenda for major releases based on Trac tickets, known problems, and user surveys.
  • 99. Development Philosophy • Development schedule kept on wpdevel.wordpress.com. • Meetings once a week in #wordpress- dev. • If it can be covered by a plugin, let it. Core is for features most people need, or frameworks developers can build on. • If you want it fixed sooner, patch it yourself.
  • 100. Documentation • Codex • Forum • WP StackExchange • Trac • Developers’ blogs
  • 101. Support • Contract available from Automattic (core creators) • Third party vendors such as MUSupport.net. • Active user forums on www.wordpress.org, wpbeginner provides some paid support options • Individual plugin & theme developers • Groups on LinkedIn, huge Twitter population
  • 102. Discussion IRC channels • #wordpress • #wordpress-dev • #buddypress • #bbpress Listserves • WP-Hackers • WP-Edu wp-edu.org Development blogs • wpdevel • make/ui • make/themes • make/accessibility • wppolyglots
  • 103. News Events WordCamps • San Francisco • New York • local: central.wordcamp.org • WP Candy • Planet WordPress • wpMail.me • wpBeginner • wpTuts
  • 104. Q&A
  • 105. Demos? • Network administration? • Plugins • BP • Collab • Scholar • Edit Flow and/or Editorial Calendar • Content Audit • HTML Import, if there's interest

Editor's Notes

  1. Add photo, short bio.
  2. \n
  3. \n
  4. 17 months later, no usable interface. We switched to WordPress in two weeks.\n
  5. Widgets & menus: drag-n-drop happiness.\n
  6. Obsolete plugins example: RB Internal Links. No longer necessary, was once hyper critical. Also, Genesis has made Page Links To unnecessary.\n
  7. Subdirectory vs. subdomain\n\nGenesis children\n\nGenesis screenshots will go on later slides.\n\n[SCL - can show off new framework. Also will talk about funky subdomain setup.]\n
  8. Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  9. Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  10. \n
  11. Ask if anyone's planning to run on IIS... the info on permissions is pretty LAMP-centric.\n
  12. Low/no initial budget outlay\n\nFocus spending on customization and meeting campus needs\n\nAvailable commercial/premium support\n\nPut Shelley's budget slide here against ~$52k to launch OmniUpdate at a 2 year school.\n \n[Stephanie's budget: a lot less than that. I think all we bought was a Gravity Forms dev license. Did use our slave -- er, student worker pretty hard for about a month during and after the launch.] \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. I think we should point to some instructions/blogs about installation. Leave the slide, point them to a resource, move on.\n
  26. Decide subdomain vs subdirectory. \n\nMake sure your server meets the requirements. \n\nChange the wp-config setting.\n\nAccess the network admin menu.\n
  27. [screenshots: step 1 (wp-config stuff), step 2, Network Admin screens, single site options screen w/ plugin & theme permissions]\n
  28. Stephanie - Domain plugins\n
  29. \n
  30. Common problems: Missing .htaccess file; bad permissions on wp-includes or wp-content; wp-includes didn’t completely upload; plugin conflicts or bad plugin/theme code.\n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. Don't use Thesis\n\nSK- talk about what a framework means on a network site, show child theme options, framework settings, etc. Talk about framework specific plugins.\n
  39. \n
  40. \n
  41. \n
  42. \n
  43. I am OK with ditching this slide if you think it's beside the point or too technical or whatever\n
  44. \n
  45. \n
  46. \n
  47. \n
  48. Old versions do not get security fixes. You must stay up to date with WP and all the plugins and themes you have installed.\n\nAuto-upgrading is by far the easiest thing to do. If you need to FTP the files for some reason, be sure to skip wp-content and .htaccess.\n \nNinjas can stay updated via Subversion. The wp-config.php file can be moved up one directory level so you don't overwrite it. \n
  49. \n
  50. High-traffic WordPress sites NEED caching, but it's not built in! Why? The developers want you to find the solution that works best for your site and server.\n
  51. \n
  52. \n
  53. checklist handout\n
  54. checklist handout\n
  55. \n
  56. Themes on Extend go through an extensive vetting process.\n\nPLUGINS DO NOT. Any moron can upload a plugin to the repository. However, they are monitored for evil code. Still, getting things from wordpress.org helps you avoid the nasty stuff.\n
  57. \n
  58. \n
  59. Core features\nFlexibility\nExtensions/plugins\nUse examples\n\nRoadmap\n
  60. \n
  61. \n
  62. \n
  63. \n
  64. Built by the same guys who developed Custom Post Type UI.\n\nAdds basic project management to WP. Great tool for internal project team. Lacks functions for managing communication with stakeholders outside immediate department.\n\nGood example of the type of thing possible with Custom Post Types.\n
  65. CollabPress screenshots\n
  66. \n
  67. \n
  68. \n
  69. \n
  70. Ecwid\nwpCommerce\nwpShop\nWooCommerce\n
  71. Google Summer of Code project and one of Jane's babies, ScholarPress is the WP answer to bloated courseware like Blackboard. It provides classes, assignments, gradebook, student/teacher roles and more. Today it isn’t ready to handle the courseware needs of a complete institution, but I’m seriously considering it for faculty/staff CMS training and on-campus professional development.\n\nproject goals\n - accessibility\n - usability\nroadmap\nknown issues?\n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. SK - my campus directory is one real-world example that comes to mind.\n\nhttp://wpshout.com/10-awesome-things-to-do-with-wordpress-custom-fields/\n\nAlso, your course system.\n
  81. \n
  82. \n
  83. Taxonomies can be hierarchical -- like categories, where you can nest them -- or non-hierarchical -- like tags, where you just type new ones into a text field\n
  84. \n
  85. \n
  86. \n
  87. Post types can also be hierarchical (like pages) or non (like posts).\n\nYou can specify which fields your type supports -- title, page attributes, excerpt, revisions, author, the big editor. You can turn those off, then use custom fields to add new ones. You'll have to customize your loop to display the additional stuff.\n
  88. \n
  89. \n
  90. \n
  91. \n
  92. This is reality, even if the wiki says otherwise.\n
  93. This is reality, even if the wiki says otherwise.\n
  94. \n
  95. VIP Support - Automattic: http://goo.gl/DLlXR\n\nSK: Huge fan of premium plugins and themes because the support offered tends to be top notch. Communities build up around these. Good examples are Genesis and GravityForms.\n
  96. \n
  97. \n
  98. \n
  99. I can open up my site and walk through it. You'll have to show the plugins you wrote :P\n