Slide 1

Slide 1 text

Grow Beyond Posts & Pages Introduction to the Pods Framework
 A Content Development Framework for WordPress

Slide 2

Slide 2 text

Jim True Support Lead & Community Manager
 Pods Framework pods.io | @podsframework jimtrue.com | @jimtrue

Slide 3

Slide 3 text

Our Story Starts with YOU, a WordPress Developer

Slide 4

Slide 4 text

Well, NOW you’re a WordPress Developer

Slide 5

Slide 5 text

You’ve got a handful of Websites under your belt GYM SALON MUSEUM

Slide 6

Slide 6 text

The Gym has gone Franchise crazy GYM

Slide 7

Slide 7 text

The Salon expanded into Spa Services SALON

Slide 8

Slide 8 text

The Museum added a Local Artists Program MUSEUM

Slide 9

Slide 9 text

You could try throwing plugins or themes at the problem

Slide 10

Slide 10 text

Or you could try managing with Pages…     STAFF SCHEDULE CLASSES

Slide 11

Slide 11 text

What if this was much easier?     STAFF SCHEDULE CLASSES 

Slide 12

Slide 12 text

Pods to the RESCUE!

Slide 13

Slide 13 text

Manage all your content in one place

Slide 14

Slide 14 text

Create, Extend & add Fields to ANY Content Custom Post Types Custom Taxonomies Users Menus Posts Pages Comments WooCommerce ANY Plugin Post Type or Taxonomy

Slide 15

Slide 15 text

Use Relationships to connect anything     STAFF SCHEDULE CLASSES Trainer Teaches a Spin Class On Mondays

Slide 16

Slide 16 text

Display Content in your Theme without code* *HTML & CSS, yes, but not PHP Works in Shortcodes, Widgets & Auto Templates

Slide 17

Slide 17 text

The Pods Process Pods Plan Populate Prototype 

Slide 18

Slide 18 text

PLAN: Start with your Content Needs     STAFF LOCATIONS Gym #60 Honolulu, Hawaii
 555-1212
 info@hawaii.gym.io
 Trainers: Jim True Jim True jim@hawaii.gym.io
 Honolulu, Hawaii
 555-1212
 Classes: Yoga, Spin

Slide 19

Slide 19 text

Think about reusable Content as DATA     STAFF LOCATIONS Gym #60 Honolulu, Hawaii
 555-1212
 info@hawaii.gym.io
 Trainers: Jim True Jim True jim@hawaii.gym.io
 Honolulu, Hawaii
 555-1212
 Classes: Yoga, Spin Locations City State Address Phone Email Address Trainers Staff Name Email Address Classes Taught Gym Location

Slide 20

Slide 20 text

These are Custom Post Types & Custom Fields Locations City State Address Phone Email Address Trainers Staff Name Email Address Classes Taught Gym Location Post Types locations staff post_type meta_key locations city locations state locations address locations phone locations email staff full_name staff email staff classes_taught staff gym_location Custom Fields

Slide 21

Slide 21 text

What are Custom Post Types? post_type WP Object post Posts page Pages attachment Media nav_menu_item Menus From the WordPress Codex:
 https://codex.wordpress.org/Post_Types

Slide 22

Slide 22 text

The WordPress Way: register_post_type & register_meta function register_locations { register_post_type( 'locations', array( 'labels' => array( 'name' => __( 'Locations' ), 'singular_name' => __( 'Location' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'locations'), ) ); }
 add_action( ‘init’, ‘register_locations’); register_post_type https://codex.wordpress.org/Function_Reference/register_post_type/ register_meta $args = array( 'sanitize_callback' => 'sanitize_my_meta_key', 'auth_callback' => 'authorize_my_meta_key', 'type' => 'string', 'description' => ‘Enter Address', 'single' => true, 'show_in_rest' => true, ); register_meta( 'locations', ‘street_address’, $args ); https://codex.wordpress.org/Function_Reference/register_meta/

Slide 23

Slide 23 text

The Pods Way: Add New & Add Fields Add New Pod Add Field to the Pod

Slide 24

Slide 24 text

DEMO: Creating Pods

Slide 25

Slide 25 text

PLAN: Identify your Connections     STAFF LOCATIONS

Slide 26

Slide 26 text

Relationships prevent Double-Entry     STAFF Full Name Email Location Classes Jim True jim@gym.io Hawaii Yoga, Spin Betty Rubble betty@gym.io Hawaii Spin, Rumba Barney Rubble barney@gym.io Alaska Rock Throwing Fred Flintstone fred@gym.io Alaska Rock Throwing, Rumba

Slide 27

Slide 27 text

Connected Fields are the Relationships Locations City State Address Phone Email Address Trainers Staff Name Email Address Classes Taught Gym Location Classes Name Description Instructor Location can have multiple Trainers Trainers can teach multiple Classes

Slide 28

Slide 28 text

Understanding Relationship Connections Locations Trainers Staff Classes Taught Gym Location Classes Instructor Location can have multiple Trainers Trainers can teach multiple Classes Multiple Single M : 1 Multiple Single M : 1

Slide 29

Slide 29 text

DEMO: Relationship Fields

Slide 30

Slide 30 text

Treat your content like a Mail Merge instructor_name email_address Jim True jim@gym.io Betty Rubble betty@gym.io Barney Rubble barney@gym.io Fred Flintstone fred@gym.io Trainers Instructor: Email: Howdy Spreadsheet Mail Merge Template

Slide 31

Slide 31 text

Pods Templates & Magic Tags post_title email_address Jim True jim@gym.io Betty Rubble betty@gym.io Barney Rubble barney@gym.io Fred Flintstone fred@gym.io Trainers Instructor: {@post_title} Email: {@email_address} Howdy {@post_title} post_type: trainers Pods Template

Slide 32

Slide 32 text

Calling a Custom Template with Shortcode Custom Template Instructor: {@post_title} Email: {@email_address} Howdy {@post_title} Pods Template Shortcode [pods name=“trainers” limit=“-1”]

Instructor: {@post_title}
Email: {@email_address}

Howdy {@post_title}

[/pods] post_type: trainers

Slide 33

Slide 33 text

Creating a Pods Template Create saved “Content Blocks” to re-use throughout your theme

Slide 34

Slide 34 text

Calling a Pods Template with Shortcode Instructor: {@post_title} Email: {@email_address} Howdy {@post_title} Template: Email Header Shortcode [pods name=“trainers” limit=“-1”
 template=“Email Header”] post_type: trainers

Slide 35

Slide 35 text

Special Magic Tag Handling Field Type Magic Tag Custom Field {@custom_field} Relationship Connection {@related_field.field_in_other_pod} WordPress “Content” {@post_content} WordPress “Featured Image” {@post_thumbnail} Permalink {@permalink} Related Record Permalink {@related_field.permalink}

Slide 36

Slide 36 text

Template Tags in Pods Templates If this field display else display that Conditionals & Loops Template Tag [if field_name]
 … content
 [else] … content
 [/if] Loop through EACH related record [each related_field] … related content [/each] [if staff_member]

    [each staff_member]
  • {@post_title}
  • [/each]
[else] No Staff Found! [/if] Example

Slide 37

Slide 37 text

Pods Templates with Auto Templates Replaces “the_content” With your Pods Template Automatically in your theme
 
 Or you can output before or After “the_content”

Slide 38

Slide 38 text

DEMO: Prototyping with Pods Templates

Slide 39

Slide 39 text

What else can you do with Pods? Custom Settings Pages Great for common text used throughout the website, phone numbers, business hours, or address.

Slide 40

Slide 40 text

What else can you do with Pods? Extending Users, Media or Other Plugins Allows you to add content where you couldn’t before or connect those plugins to your new content.

Slide 41

Slide 41 text

What else can you do with Pods? Connect with PHP or REST API or Pods API We support WordPress Core Methods of communicating with the content created with Pods, the new REST API methods or our own internal API for flexible connection methods.

Slide 42

Slide 42 text

Getting Help with Pods Installing: https://wordpress.org/plugins/pods/ Support Forum: https://wordpress.org/support/plugins/pods/ Documentation: https://pods.io/docs/ Slack Chat: https://pods.io/chat/ #support channel

Slide 43

Slide 43 text

We are a FREE Plugin with FREE Support Learn more @ https://friends.pods.io/

Slide 44

Slide 44 text

Jim True Support Lead & Community Manager
 Pods Framework http://pods.io | @podsframework http://jimtrue.com | @jimtrue

Slide 45

Slide 45 text

WordPress St Petersburg Meetups Monthly in St Pete @ Iron Yard
 1st & 2nd Thursdays every Month http://tampabaywp.org | @tampabaywp Slack Chat | Facebook Group | Meetup

Slide 46

Slide 46 text

A VERY Heartfelt Thank you to Iron Yard St. Pete Last Meetup here in September Iron Yard St. Pete | @theironyard #tampabay