Structuring Content
in WordPress
USING ADVANCED CUSTOM FIELDS
Hello!
I’m Jamie Schmid.
EX-ILLUSTRATOR, WORDPRESS ENTHUSIAST, INFORMATION ARCHITECT
FREELANCE, CORPORATE & IN-BETWEEN
MIL...
How do Custom Fields work?
 Key/value pairs
 “Key” – “name” – a constant that identifies a specific field
 Stays the sa...
Where are Custom Fields used?
 Yoast SEO fields
 Genesis framework: different visual layouts to select from
 Themify: c...
Why Custom Fields?
 Structuring content is more important than ever
 Take site out of WYSIWYG box
 Chunks vs blobs: bre...
Why Advanced Custom Fields?
o Core custom fields interface is confusing,
not user friendly
o Interrupts workflow
o Lots of...
Installation:
Advanced Custom Fields is “Freemium”
Free Version
 Text / textarea
 Wysiwyg
 Image
 File
 Page link
 P...
ACF - Available Fields
Basic Fields
 Text / Text Area
 Number
 Email
 Password
 Date/Color picker
Content
 WYSIWYG f...
Fields Demo!
Conditional Statements
 In Your Theme:
 Best practice to display CF’s with a
conditional
 Can display certain support e...
Conditionals
Demo!
Admin UX
 Hide unused page elements
 Field & Metabox naming conventions
 Logical grouping of related fields
 Tabs
 Pa...
Admin UX Demo!
Content Modeling
A process to describe all your types of data and the
relationships between them
 Audit EVERYTHING
 Wire...
But be realistic.
 Draw a balance between strictly
structured content, and freedom
for the author to enter all the
conten...
Potential Issues 
 ACF Plugin must be installed for metadata fields to show
 Can export as PHP for mu_plugins
 wp_sear...
Questions / Examples?
Thanks :)
Jamie Schmid
@jamieschmid
Upcoming SlideShare
Loading in …5
×

Structuring Content in WordPress using Advanced Custom Fields

1,204 views

Published on

Slides from my talk on Advanced Custom Fields & structuring content in WordPress, from WordCamp Milwaukee, 2014

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,204
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Structuring Content in WordPress using Advanced Custom Fields

  1. 1. Structuring Content in WordPress USING ADVANCED CUSTOM FIELDS
  2. 2. Hello! I’m Jamie Schmid. EX-ILLUSTRATOR, WORDPRESS ENTHUSIAST, INFORMATION ARCHITECT FREELANCE, CORPORATE & IN-BETWEEN MILWAUKEE / PORTLAND, OR @JAMIESCHMID
  3. 3. How do Custom Fields work?  Key/value pairs  “Key” – “name” – a constant that identifies a specific field  Stays the same for all posts, cannot be duplicated  Can be called multiple times on one page  Value – info displayed for each field when you call it  Can change with each post  Can be globally accessed also
  4. 4. Where are Custom Fields used?  Yoast SEO fields  Genesis framework: different visual layouts to select from  Themify: color boxes to select different color themes
  5. 5. Why Custom Fields?  Structuring content is more important than ever  Take site out of WYSIWYG box  Chunks vs blobs: break content into manageable blocks  Serve together on one page, or divide & send to mobile, api, anywhere else  COPE: Create once, publish everywhere  Good experience for content publishers
  6. 6. Why Advanced Custom Fields? o Core custom fields interface is confusing, not user friendly o Interrupts workflow o Lots of work to customize and limit http://www.advancedcustomfields.com/
  7. 7. Installation: Advanced Custom Fields is “Freemium” Free Version  Text / textarea  Wysiwyg  Image  File  Page link  Post object  Relationship  Select  Checkbox  radio buttons  Color / date picker  true / false Pro  Personal (single site) :$25 (can upgrade)  Developer (unlimited forever): $100  Features:  Repeater  Flex Content  Gallery  Options Panel These are indispensable.
  8. 8. ACF - Available Fields Basic Fields  Text / Text Area  Number  Email  Password  Date/Color picker Content  WYSIWYG full or ltd  Image  File Choice  Select  Radio Button  Checkbox  True/False Relational  Page Link  Post Object  Relationship  Taxonomy  User jQuery  Google Map  Date Picker  Color Picker Layout  Message  Tab  Flex Content *  Repeater *  Gallery *  Options * * Pro only
  9. 9. Fields Demo!
  10. 10. Conditional Statements  In Your Theme:  Best practice to display CF’s with a conditional  Can display certain support elements only if field exists  Add class to body  Display alternate data  Only display posts with a specific custom field  In the Admin:  Setting expiration date for posts  Page-specific content types  Extended publish statuses
  11. 11. Conditionals Demo!
  12. 12. Admin UX  Hide unused page elements  Field & Metabox naming conventions  Logical grouping of related fields  Tabs  Page placement – top, main, sidebar  Conditionals for showing different inputs  Input Validation  Notes/directions
  13. 13. Admin UX Demo!
  14. 14. Content Modeling A process to describe all your types of data and the relationships between them  Audit EVERYTHING  Wireframe every page Seriously, every page.  You will probably find:  There are more pages than you thought  Maybe even whole sections  Navigation issues  Layout limitations  Plan your custom fields & relationships right on the page, including id’s  Use standard naming conventions  Use language the user will understand  Identify unique blocks  That require special tags  Special output  Shared content across the site
  15. 15. But be realistic.  Draw a balance between strictly structured content, and freedom for the author to enter all the content they need  We don’t want to make the author bend their content to fit your structure  No model survives first contact with real content.
  16. 16. Potential Issues   ACF Plugin must be installed for metadata fields to show  Can export as PHP for mu_plugins  wp_search: only searches the_content() – no custom fields  Search WP & Faceted Search plugins  rss: only feeds the_content()  Localization plugins: only translates the_content() (typically)  ACF text output is not escaped like native WordPress functions  https://github.com/10up/secured-advanced-custom-fields  http://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data
  17. 17. Questions / Examples? Thanks :) Jamie Schmid @jamieschmid

×