【发布时间】:2020-04-25 20:36:48
【问题描述】:
我对某些帖子使用高级自定义字段。在类别页面上,所有重复字段和字段组字段都正确显示。但是在搜索结果页面上,这些类型的字段是空的。 例如我的电影演员代码
//Actors
$act1 = get_field('schauspieler_1', $post->ID);
$act2 = get_field('schauspieler_2', $post->ID);
$act3 = get_field('schauspieler_3', $post->ID);
$act4 = get_field('schauspieler_4', $post->ID);
$act5 = get_field('schauspieler_5', $post->ID);
$cast = esc_attr($act1['schauspieler_name']).', '.esc_attr($act2['schauspieler_name']).', '.esc_attr($act3['schauspieler_name']).', '.esc_attr($act4['schauspieler_name']).' und '.esc_attr($act5['schauspieler_name']);
它被称为
<p><?php esc_html_e( 'Actors', 'elvistheme' ); ?>: <span class="text-grey"><?php echo $cast; ?></span></p>
在它显示的类别页面上:
达斯特勒:猫王、玛丽·泰勒·摩尔、芭芭拉·麦克奈尔、莉奥拉·达娜和简·艾略特
但在搜索结果页面上显示:
Darsteller: , , , und
文本、日期等普通字段显示正确。
【问题讨论】:
-
这很令人困惑。在您的问题中,您提到了中继器字段,但您没有提到实际使用中继器的位置 - 如果您想要可变数量的演员并重复该演员的字段组,这将是有意义的。
-
另外,您还没有指定 ACF 字段组与哪些帖子类型一起使用。如果它用于所有帖子。对于某些显示为搜索结果的帖子,这些字段可能为空。要进一步调试,您可以使用
$cast = '[post: '.$post->ID.' type: "'.$post->post_type.'"] '. esc_attr($act1['schauspieler_name']).', '.esc_attr($act2['schauspieler_name']).', '.esc_attr($act3['schauspieler_name']).', '.esc_attr($act4['schauspieler_name']).' und '.esc_attr($act5['schauspieler_name']);将帖子的 ID 和类型显示在演员姓名之前。 -
对不起。字段组与标准帖子类型一起使用。我有 5 个具有 2 个文本字段的 5 个演员的字段组。 schauspieler_1 = 组,1. 字段 - schauspieler_name = 演员姓名,2. 字段 - schauspieler_rollenname = 角色名称
-
使用 search.php 模板中的更多代码更新您的问题。需要看看你在哪里调用这些 get_field 函数
标签: wordpress search field advanced-custom-fields repeater