Upload
damiangostomski
View
1.002
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Slides from my presentation at SWIG Liverpool covering the various options for data storage and handling within WordPress
Citation preview
Data Handling in WordPress
Damian Gostomski
@damiangostomski
http://gostomski.co.uk
Lots of options for data handling
I will not teach you everything about them, I will raise your awareness of them
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Why do we need additional data handling?
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
WordPress is now a full blown CMS, used for all sorts of sites.
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Custom Post Type
Custom Taxonomies
Users Options
Database Files
External
Make your own post types.
WordPress handles most of the logic.
Examples:
• Events
• Portfolio items
• Products
• Services
• Questions
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Store additional content in post meta.
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Use the standard template loop and template tags to render.
archive-$posttype.php / single-$posttype.php
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
register_post_type($type, $args)
• Label
• Public
• Show UI
• Capability Type
• Hierarchical
• Supports
• Register metabox
• Has Archive
• Rewrite
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Establish relationship between CPTs.
Make your own, or use existing taxonomies.
Examples:
• Film Genre
• Event type
• Product categories
• Group users by type
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Users are data structures too.
Useful for social/community, directory and multi author sites.
Can store anything in user meta.
Can apply taxonomies to users too!
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Site wide named pieces of data.
Can store any data structure, String, Integer, Array or Object.
Multiple options vs single structure?
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
add_option($key, $data, ‘’, ‘yes’)
update_option($key, $data)
get_option($key, $default)
delete_option($key)
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
The Transient API offers a simple way to cache data:
set_transient($key, $data, $expire)
get_transient($key)
delete_transient($key)
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Direct access via $wpdb
Create database tables on plugin activation.
Escape all input!
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Can write files to the uploads folder - can’t guarantee elsewhere!
WordPress offers a File System API to get around that.
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
Lots of websites share their content using APIs.
More often pull than push.
Example APIs:
• Social media
• Payment services
• Maps
• Web services
• Web apps
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
WordPress offers us a HTTP API to make our lives easier. Use it!
wp_remote_get($url, $args)
wp_remote_post($url, $args)
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
No one right method, it depends on:
• Number of items
• Complexity
• Relations
• Existing data availability
• Customisation
• Site wide settings
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
WordPress has an API for most tasks, use them!
Custom Post Types can fulfil your requirements in 90% of cases.
No reason you can’t use a hybrid of these methods.
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions
… Or can we go to the pub?
Damian Gostomski
@damiangostomski
http://gostomski.co.uk
Intro Why
Overview CPTs
Taxonomies Users
Options Database
Files External
Summary Questions