我正在尝试将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;
}