高级自定义字段“灵活内容字段”和“克隆”字段

时间:2019-01-13 03:42:17

标签: wordpress advanced-custom-fields algolia

我正在尝试将Algolia WP插件与WP网站集成,在该网站中,大多数页面都是使用ACF Flexible Content Fields构建的。如果有什么不同,这些灵活内容字段是通过ACF的克隆功能构建为字段组的。但是,如果ACF没有创建自定义帖子类型,我找不到有关如何集成的任何信息。

下面是用于集成“高级自定义字段”自定义帖子类型“ speaker”和该帖子类型中“ bio”字段的文档示例。但是,对于ACF flexible内容字段,“字段”可以是任何用户预定义的字段。谢谢。

<?php

add_filter( 'algolia_post_shared_attributes', 'my_post_attributes', 10, 2 );
add_filter( 'algolia_searchable_post_shared_attributes', 'my_post_attributes', 10, 2 );

/**
 * @param array   $attributes
 * @param WP_Post $post
 *
 * @return array
 */
function my_post_attributes( array $attributes, WP_Post $post ) {

    if ( 'speaker' !== $post->post_type ) {
        // We only want to add an attribute for the 'speaker' post type.
        // Here the post isn't a 'speaker', so we return the attributes unaltered.
        return $attributes;
    }

    // Get the field value with the 'get_field' method and assign it to the attributes array.
    // @see https://www.advancedcustomfields.com/resources/get_field/
    $attributes['bio'] = get_field( 'bio', $post->ID );

    // Always return the value we are filtering.
    return $attributes;
}

0 个答案:

没有答案