WordPress ACF:在后台文章对象下拉框中显示文章ID
解决ACF文章对象字段下拉框显示ID+标题的问题
你之前用的acf/render_field/type=post_object钩子不对,应该用ACF专门用来修改post_object选项显示文本的acf/fields/post_object/result钩子,直接上代码:
add_filter('acf/fields/post_object/result', 'display_post_id_with_title_in_acf_post_object', 10, 4); function display_post_id_with_title_in_acf_post_object($text, $post, $field, $post_id) { // 只针对Team自定义文章类型做修改,注意slug要和你的实际类型一致 if ($post->post_type === 'team') { $text = 'ID: ' . $post->ID . ' - ' . $post->post_title; } return $text; }
补充说明:
- 把这段代码加到主题的
functions.php文件或者自定义插件里即可 - 代码里的
team要替换成你实际的Team自定义文章类型slug(如果你的类型slug是大写Team就改成对应值) - 这个钩子只会修改下拉框的显示内容,不会改变字段存储的数据,存储的还是文章ID,不影响前端调用逻辑
- 如果需要针对Projects里的某个特定post_object字段单独处理,可以再加个判断
$field['key'] === '你的字段key',这样只会修改指定字段的显示
内容的提问来源于stack exchange,提问作者le.fouk
相关产品推荐
相关产品推荐

