這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

Plus Features for Advanced Custom Fields

外掛說明

Plus Features for Advanced Custom Fields adds a Dual Range Slider field type to the advanced custom field plugin and some basic shortcodes for basic fields in the current post. The Dual Range Slider field type allows you to choose minimum and maximum values.

Usage

Code

Get Dual range slider value code:

if ( function_exists( 'get_field' ) ) {
    $min_max_array = get_field( 'dual_range_slider' );
        if ( is_array( $min_max_array ) && array_key_exists( 'min', $min_max_array ) && array_key_exists( 'max', $min_max_array ) ) {
        echo 'Min value is: ' . wp_kses( $min_max_array['min'] , array()) . '<br>';
        echo 'Max value is: ' . wp_kses( $min_max_array['max'] , array());
    }
}

Update Dual range slider PHP code:

if(function_exists( 'update_field' ) ){
    $value=array(
        'min'=>20,
        'max'=> 35,
    );
    $is_updated=update_field('dual_range_slider_field_name', $value);
    var_dump($is_updated);
}

Get link value with nofollow

if ( function_exists( 'get_field' ) && function_exists( 'acfp_get_rel_attr' ) ) {
    $link = get_field( 'link_field_name' );
    echo '<pre>';
    var_dump( $link );
    echo '<pre>';
    if ( is_array( $link ) ) {//return format set to array
        if ( array_key_exists( 'nofollow', $link ) ) {
            $rel_content        = acfp_get_rel_attr( array( $link['nofollow'] ), false );
            $allowed_attributes = array(
                'rel' => array(),
            );
            ?>
            <a href="<?php echo esc_url( $link['url'] ); ?>" target="<?php echo esc_attr( $link['target'] ); ?>"  <?php echo wp_kses( $rel_content, $allowed_attributes ); ?>><?php echo esc_html( $link['title'] ); ?></a>
            <?php
        } else {
            ?>
            <a href="<?php echo esc_url( $link['url'] ); ?>" target="<?php echo esc_attr( $link['target'] ); ?>"><?php echo esc_html( $link['title'] ); ?></a>
            <?php
        }
    } elseif(is_string( $link )) {
        echo esc_html( $link );
    }
}

Update link value with nofollow

if ( function_exists( 'update_field' ) ) {
    $value      = array (
        'title' => 'Sample page',
        'url' => 'http://localhost/dev/sample-page/',
        'target' => '_blank',
        'nofollow' => 'nofollow',
    );
    $is_updated = update_field( 'link_field_name', $value );
    var_dump( $is_updated );
}<h3>Objects supported by shortcode</h3>

– Current Post (current_post)-> The current post where the field is placed on.

Shortcode supported field types

Below are the supported field types:
– text
– textarea
– email
– number
– range
– email
– url
– acfp_dual_range_slider
– image
– file
– WYSIWYG
– oembed
– select
– checkbox
– radio
– button_group
– true_false
– link
– Page Link
– Post Object
– Relationship

Shortcode Attributes

field

Specifies field name or field key for the field to be retrieved.
Supported in: All supported fields
Example: field=”field_name_or_key”

object [Optional]

The object where the shortcode should retrieve data from.
Supported in: All supported fields.
Accepted values: “current_post”
Example: object=”current_post”

field_type [Optional]

Specifies the type of the field you are trying to retrieve.
Supported in: All supported fields
Example: field_type=”text”

empty_message [Optional]

Alternative value when the field is empty.
Supported in: select, and checkbox
Example: empty_message =”No value selected.”

link_text [Optional]

Clickable text to be displayed as a link instead of showing the URL.
Supported in: email, url, file
Example: link_text=”Click here”
Overrides: Post title in page link.

format [Optional]

Specifies the format of value to be displayed.
Supported in: checkbox, acfp_dual_range_slider, email, number, select, url
Example: in URL and email format=”link”,
in checkbox, select format=”ordered_list” or format=”unordered_list”,
in number format=”separators_decimals”,
in acfp_dual_range_slider format=”max” or format=”min”

decimals [Optional]

The number of decimals.
Supported in: number
Example: decimals=”4″

decimal_separator [Optional]

Character to be used in separating decimals.
Supported in: number
Example: decimal_separator=”.”

thousands_separator [Optional]

Character to be used in separating thousands.
Supported in: number
Example: decimal_separator=”,”

alt [Optional]

Alternative text in case the image fails to load.
Supported in: image
Example: image=”my_image”

width [Optional]

Image width.
Supported in: image
Example: width=”100px”

height [Optional]

Image height.
Supported in: image
Example: height=”100px”

style [Optional]

Style attribute for wrapper tag.
Supported in: All supported fields
Example: style=”color:green;text-align:center”

media_sizes [Optional]

Media sizes.
Supported in: image
Example: media_sizes=”(max-width: 600px) 480px, 800px”

tag_id [Optional]

ID attribute for wrapper tag.
Supported in: All supported fields
Example: id=”my-unique-id”

tag_class [Optional]

Class attribute for wrapper tag.
Supported in: All supported fields
Example: class=”my-class-name”

hide_if_empty [Optional]

Determines whether list tags will not be shown when there is no selected value in the select or checkbox field type.
Supported in: checkbox, select
Example: hide_if_empty=”true”

ordered_list_type [Optional]

Specifies the type of ordered list to be displayed.
Supported in: checkbox, select,
*Accepted values:** “1”, “a” “A”, “i” and “I”.
Example: ordered_list_type=”a”

display [Optional]

Specifies whether to display values or labels.
Supported in: button group, checkbox, radio, select,
*Accepted values:** “labels”, “values”, “page_title”
Example: display=”values”

wrap_tag [Optional]

Tag to wrap field content.
Supported in: All supported fields
Example: wrap_tag=”div”

checked_content [Optional]

Content to be shown when a checkbox is checked.
Supported in: true_false
Example: checked_content=”Field checked”

unchecked_content [Optional]

Content to be shown when a checkbox is unchecked.
Supported in: true_false
Example: checked_content=”Field unchecked”

rel [Optional]

rel content for links.
Supported in: URL, links
Example: rel=”nofollow”

posts_layout [Optional]

Layout to be used for rendering posts.
Supported in: Post Object, Relationship
Value 1: simple-grid
Value 2: fber-list
Value 3: false
Example: posts_layout=”simple-grid”

post_layout [Optional]

Layout to be used for rendering a post.
Supported in: Post Object, Relationship
Value 1: simple-card
Example: post_layout=”simple-card”

Shortcodes Examples

[acfp field=”text_field_name” field_type=”text”]

[acfp field=”text_area_field_name” field_type=”textarea”]

[acfp field=”range_field_name” field_type=”range” ]

[acfp field=”number_field_name” field_type=”number”]

[acfp field=”number_field_name” format = “separators_decimals” decimal_separator=”,” thousands_separator=”.” decimals=”4″ field_type=”number”]

[acfp field=”email_field_name” format=”link” link_text=”my email” field_type=”email”]

[acfp field=”email_field_name” link_text=”my email” field_type=”email”]

[acfp field=”url_field_name” format=”link” link_text=”my link” field_type=”url”]

[acfp field=”url_field_name” link_text=”my link” field_type=”url”]

[acfp field=”dual_range_slider_field_name” field_type=”acfp_dual_range_slider” format=”min”]

[acfp field=”dual_range_slider_field_name” field_type=”acfp_dual_range_slider” format=”max”]

[acfp field=”dual_range_slider_field_name” field_type=”acfp_dual_range_slider”]

[acfp field=”image_field_name” field_type=”image” alt=”A simple image”]

[acfp field=”image_field_name” field_type=”image” alt=”A simple image” media_sizes=”(max-width: 600px) 480px, 800px” tag_id=”my-img-id” tag_class=”my-img-class” ]

[acfp field=”file_field_name” field_type=”file” ]

[acfp field=”wysiwyg_field_name” field_type=”wysiwyg” ]

[acfp field=”oembed_field_name” field_type=”oembed” ]

[acfp field=”select_field_name” field_type=”select” ]

[acfp field=”select_field_name” format=”unordered_list” display=”labels” field_type=”select” ]

[acfp field=”select_field_name” format=”unordered_list” display=”values” field_type=”select” ]

[acfp field=”select_field_name” format=”ordered_list” display=”labels” field_type=”select” ]

[acfp field=”select_field_name” format=”ordered_list” display=”values” field_type=”select” ]

[acfp field=”checkbox_field_name” format=”ordered_list” display=”values” field_type=”checkbox” ]

[acfp field=”checkbox_field_name” format=”ordered_list” display=”values” field_type=”checkbox” ]

[acfp field=”radio_button_field_name” display=”values” field_type=”radio” ]

[acfp field=”radio_button_field_name” display=”labels” field_type=”radio” ]

[acfp field=”button_group_field_name” display=”labels” field_type=”button_group” wrap_tag=”div”]

[acfp field=”button_group_field_name” display=”values” wrap_tag=”div”]

[acfp field=”truefalse_field_name” field_type=”true_false” wrap_tag=”div”]

[acfp field=”truefalse_field_name” field_type=”true_false” wrap_tag=”div” unchecked_content=”Unchecked” checked_content=”Checked”]

[acfp field=”link_field_name” field_type=”link” wrap_tag=”div”]

[acfp field=”page_link_field_name”]

[acfp field=”post_object_field_name”]

[acfp field=”post_object_field_name” posts_layout=”simple-grid”]

[acfp field=”post_object_field_name” posts_layout=”fber-list”]

[acfp field=”post_object_field_name” posts_layout=”false”]

[acfp field=”relationship_field_name”]

[acfp field=”relationship_field_name” posts_layout=”simple-grid”]

[acfp field=”relationship_field_name” posts_layout=”fber-list”]

[acfp field=”relationship_field_name” posts_layout=”false”]

螢幕擷圖

  • Dual Range Slider in Admin dashboard post edit.
  • Dual Range slider field settings.
  • Settings continuation.
  • rel=”nofollow” on ACF link field type.

安裝方式

Requires https://wordpress.org/plugins/advanced-custom-fields/ to be installed.

  1. Upload acfp to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to WordPress Admin -> ACF-> Field group -> Select/edit your preferred field group, on field type go to the Choice section and select Dual Range Slider.
  4. Define your preferred settings.

常見問題集

How can I utilize the values selected in the dual range slider on my templates?

You can add custom code in your template files as shown below:

if ( function_exists( 'get_field' ) ) {
    $min_max_array = get_field( 'dual_range_slider' );
    if ( is_array( $min_max_array ) && array_key_exists( 'min', $min_max_array ) && array_key_exists( 'max', $min_max_array ) ) {
        echo 'Min value is: ' . wp_kses( $min_max_array['min'] , array()) . '<br>';
        echo 'Max value is: ' . wp_kses( $min_max_array['max'] , array());
    }
}

How can I update the dual range slider field using PHP code?

You can update the field using an array with max and min keys as shown below:

if(function_exists( 'update_field' ) ){
    $value=array(
        'min'=>20,
        'max'=> 35,
    );
    $is_updated=update_field('dual_range_slider_field_name', $value);
    var_dump($is_updated);
}

How can I stop enqueueing Foundation style?

You can add the filter below in your theme functions.php:

// Prevents foundation .css from being enqueued.
add_filter(
    'acfp/settings/enqueue_foundation_css',
    function( $value ) {
        return false;
    }
);

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Plus Features for Advanced Custom Fields〉的開發相關工作。

參與者

變更記錄

1.4.0

New: Supports Page Link, Post Object, and Relationship Field types.

1.3.1

Fixed: JavaScript exception.

1.3.0

Added rel=”nofollow” on ACF link field type.
Added shortcode support for button_group, true_false and link.

1.2.0

The field types below are now supported in acfp shortcode:
– text
– textarea
– email
– number
– range
– email
– url
– acfp_dual_range_slider
– image
– file
– WYSIWYG
– oembed
– select
– checkbox
– radio

1.1.0

Supports ACF shortcode security filters.
Added step settings to dual range slider.
Added shortcode support for ACF images, files, WYSIWYG, and oEmbed.
Enhancement- Dual Range slider now has set settings.

1.0.0

Beginning of ACF Plus.