Top Banner
April 19, 2015
60

Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Jul 16, 2015

Download

Internet

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

April 19, 2015

Page 2: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

EastBayWP.com

Page 4: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Ongoing Sponsor: Page.ly

http://page.ly/

Page 5: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

INTRODUCTIONS

1. Name

2. Company (if appropriate)

3. WordPress background

4. Favorite Premium Plugins

Page 6: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Advanced Custom Fields Pro Amazing possibilities… and a few limitations

Page 7: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

What Is ACF? • Intuitive UI for creating and managing

custom fields

• Free & Pro versions

• 20 field types

• Uses the_field(), get_field(), the_sub_field(), and get_sub_field() to retrieve field content

• Shortcode: [acf field="{$field_name}"]

http://www.advancedcustomfields.com/pro

Page 8: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Fields in Free Version

• Checkbox

• Color Picker

• Date Picker

• Google Map

• Image

• oEmbed

• Page Link

• Post Object

• Relationship

• Select

• Tab

• Taxonomy

• Text

• Textarea

• True/False

• Wysiwig Editor

Page 9: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Additional Fields in ACF Pro The Repeater Field The repeater field allows you to create a set of sub fields which can be repeated again and again.

The Gallery Field The gallery field provides a simple and intuitive interface for managing a collection of images.

The Flexible Content Field The flexible content field is a complete content layout manager.

Options Pages All data saved on an options page is global and can be displayed on any page.

Page 10: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

How Much Does ACF Pro Cost?

One-time cost: $25 Personal, $100 Developer—Australian Dollars!

Page 11: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create a Field Group

Page 12: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Select Field Group Location

You can choose to show your field groups for pages, page templates, post types, taxonomies, options pages, and widgets.

Page 13: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Set Field Group Options

This is handy if you want to hide the page/post content editor when you display your fields.

Page 14: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Fields to Your Group

Page 15: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Display Your Fields

1. <?php

2. if(get_field('field_name')

) {

3. echo '<p>' .

get_field('field_name') .

'</p>';

4. }

5. ?>

Page 17: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Fields for this Layout

Page 18: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Entering the Content

Page 20: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

CUSTOM HEADER RIGHT CONTENT FOR PAGES

Tutorial from Sridhar Katakam

Page 21: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Field Group

Page 22: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Enter Header Right Content

This box appears below the main content editor.

Page 23: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

REPEATER FIELDS IN ACTION Demonstrated on WP Fangirl

Page 24: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Field Group

Page 25: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Repeater Fields & Sub-Fields

Page 26: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Display Fields in Template 1. if(have_rows('premium_plugins')) {

2. echo '<h3 class="colophon">Premium Plugins</h3>';

3. echo '<ul class="plugin-list">';

4. while(have_rows('premium_plugins')) {

5. the_row();

6. echo '<li><a href="'.get_sub_field('premium_plugin_url').'">'. get_sub_field('premium_plugin_name') .'</a></li>';

7. }

8. echo '</ul>';

9. }

Page 27: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

DISPLAY ACF GALLERY AS SLIDER

Tutorial from Elliot Condon

Page 28: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create a Gallery Field Group

Page 29: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Photos to Gallery

Upload images to the gallery field. These are from Magdeleine.

Page 30: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Get FlexSlider.js

http://www.woothemes.com/flexslider/

Page 32: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

PAGE WITH MAGNIFIC POPUP GALLERY

Tutorial from Tribeswell.com

Page 34: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Enqueue Magnific 1. function magnific_popup_files() {

2. wp_enqueue_style( 'magnific',

get_stylesheet_directory_uri() .

'/css/magnific-popup-gallery.css' );

3. wp_enqueue_script( 'magnific',

get_stylesheet_directory_uri()

.'/js/magnific-popup-

gallery.min.js', array('jquery'),

false, true );

4. }

5. add_action( 'wp_enqueue_scripts',

'magnific_popup_files' );

Page 35: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Page Template 1. <?php

2. /* Template Name: Page with Magnific Gallery */

3. add_action('genesis_entry_content', 'magnific_gallery_loop', 8);

4. function magnific_gallery_loop() {

5. $images = get_field('image_gallery');

6. if($images):

7. echo '<div class="popup-gallery">';

8. foreach( $images as $image ):

9. echo '<a href="'.$image['url'].'" class="lightbox-

link" title="'. $image['caption'].'" data-

description="'.$image['description'].'">';

10. echo '<div class="image-wrap"><img

src="'.$image['url'].'"></div></a>';

11. endforeach;

12. echo '</div>';

13. endif;

14. }

15. genesis();

Page 36: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Gallery Field Group

Or add existing gallery field group to new template.

Page 37: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Images to Gallery

Page 38: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Script to Page

• Put the JavaScript from the tutorial into the “Script” metabox.

• Be sure to change “$” to “jQuery” for non-conflict mode

Page 40: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

PAGE WITH CONTENT, WIDGET AREA & FULL-WIDTH SECTIONS

Tutorial from Sridhar Katakam

Page 41: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Field Group

This page uses one flexible content field with multiple layouts.

Page 42: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Page Content

Page 44: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Field Group

• Location

• Options

• Flexible Content

– Hero Layout

– Text-Image Layout

– Image-Text Layout

Page 45: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Location & Options

Page 46: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Flexible Content: Hero

Includes image, text , CTA Button Display, CTA button URL, CTA button text

Page 47: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Text-Image & Image-Text

Page 48: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Entering Content

Page 49: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Layouts Don’t Style Themselves

You need to write CSS for things like

• Making section full-width

• Hero image stretch display

• Overlay for the hero image

• Positioning of hero text over image

• Color of hero text

• Width of Image & Text sections

Page 51: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Create Field Groups

Page 52: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Note Field Group IDs

This field group has an ID of 130, but yours will be different.

Page 53: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Get Field Keys

Page 54: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Field Group IDs to Template

This is where you need to enter your own field group IDs.

Page 55: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Add Field Keys to Template

Replace the keys shown in the demo template with your own. (Full template is too long to show.)

Page 56: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Apply Template to a Page

Content that you add in the content editor will appear above the posting form.

Page 57: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Fill Out the Posting Form

Page 58: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Voila! A Post

Page 59: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

Just a Few Caveats

• ACF does not replace custom post types, but it works well with them.

• Retrieving field data is harder than retrieving CPT content.

• Fields created by ACF are stored either in the post_meta table or the wp_options table.

• You can’t search on custom fields

Page 60: Advanced Custom Fields: Amazing Possibilities and Irritating Limitations

About the Presenter Sallie Goetsch (rhymes with ‘sketch’)

Got online in 1985. Started building websites in 1995. Discovered WordPress in 2005. Organizer of the East Bay WordPress Meetup.

@salliegoetsch

salliegoetsch

http://wpfangirl.com

510-969-9947