21
Data Handling in WordPress Damian Gostomski @damiangostomski http://gostomski.co.uk

WordPress Data Storage

Embed Size (px)

DESCRIPTION

Slides from my presentation at SWIG Liverpool covering the various options for data storage and handling within WordPress

Citation preview

Page 1: WordPress Data Storage

Data Handling in WordPress

Damian Gostomski

@damiangostomski

http://gostomski.co.uk

Page 2: WordPress Data Storage

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

Page 3: WordPress Data Storage

Why do we need additional data handling?

Intro Why

Overview CPTs

Taxonomies Users

Options Database

Files External

Summary Questions

Page 4: WordPress Data Storage

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

Page 5: WordPress Data Storage

Intro Why

Overview CPTs

Taxonomies Users

Options Database

Files External

Summary Questions

Custom Post Type

Custom Taxonomies

Users Options

Database Files

External

Page 6: WordPress Data Storage

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

Page 7: WordPress Data Storage

Store additional content in post meta.

Intro Why

Overview CPTs

Taxonomies Users

Options Database

Files External

Summary Questions

Page 8: WordPress Data Storage

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

Page 9: WordPress Data Storage

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

Page 10: WordPress Data Storage

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

Page 11: WordPress Data Storage

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

Page 12: WordPress Data Storage

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

Page 13: WordPress Data Storage

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

Page 14: WordPress Data Storage

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

Page 15: WordPress Data Storage

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

Page 16: WordPress Data Storage

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

Page 17: WordPress Data Storage

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

Page 18: WordPress Data Storage

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

Page 19: WordPress Data Storage

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

Page 20: WordPress Data Storage

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

Page 21: WordPress Data Storage

… 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