gpt4 book ai didi

wordpress - 如何从 WordPress 数据库获取高级自定义字段字段键?

转载 作者:行者123 更新时间:2023-12-02 19:15:34 24 4
gpt4 key购买 nike

我正在使用带有帖子类型的高级自定义字段。我有一些选择的自定义字段,我想显示每个字段的所有标签选项。

我已经尝试过这种方法。

$field = get_field_object('hair_color');
$hair = $field["choices"];
foreach($hair as $value){

做一个

var_dump($field)

它显示为空:

array(18) { 
["key"] => string(16) "field_hair_color"
["label"] => string(0) ""
["name"] => string(10) "hair_color"
["_name"] => string(10) "hair_color"
["type"]=> string(4) "text"
["order_no"]=> int(1)
["instructions"]=> string(0) ""
["required"]=> int(0)
["id"] => string(20) "acf-field-hair_color"
["class"] => string(4) "text"
["conditional_logic"] => array(3) {
["status"] => int(0)
["allorany"]=> string(3) "all"
["rules"]=> int(0)
}
["default_value"] => string(0) ""
["formatting"] => string(4) "html"
["maxlength"] => string(0) ""
["placeholder"] => string(0) ""
["prepend"] => string(0) ""
["append"] => string(0) ""
["value"] => bool(false)
}

让它充满的唯一方法是:

get_field_object('field_51ac9d333d704');

array(17) { 
["key"] => string(19) "field_51ac9d333d704"
["label"] => string(13) "Color de pelo"
["name"] => string(10) "hair_color"
["_name"] => string(10) "hair_color"
["type"] => string(6) "select"
["order_no"] => int(9)
["instructions"] => string(27) "Selecciona el color de pelo"
["required"] => int(0)
["id"] => string(20) "acf-field-hair_color"
["class"] => string(6) "select"
["conditional_logic"] => array(3) {
["status"] => int(0)
["rules"] => array(1) {
[0] => array(3) {
["field"] => string(19) "field_5195ef9879361"
["operator"] => string(2) "=="
["value"] => string(5) "small"
}
}
["allorany"] => string(3) "all"
}
["choices"] => array(5) {
["bald"] => string(5) "Calvo"
["brown"] => string(8) "Castaño"
["brunette"] => string(6) "Moreno"
["red"] => string(9) "Pelirrojo"
["blonde"] => string(5) "Rubio"
}
["default_value"] => string(0) ""
["allow_null"] => int(1)
["multiple"] => int(0)
["field_group"] => int(90679)
["value"]=> bool(false)
}

但是我有3个环境,我不想对字段键进行硬编码。

有什么解决办法吗?提前致谢。

最佳答案

只是想自己做这件事,所以我做了一些调查。似乎 ACF 的每个字段和字段组都作为自定义帖子类型存储在数据库的 wp_posts 表中。字段为“acf-field”,组为“acf-field-group”。

我能够使用此函数获取字段键,然后在尚未包含该字段的帖子上使用 update_field($field_key, $value)。

function get_acf_key($field_name){
global $wpdb;

return $wpdb->get_var("
SELECT post_name
FROM $wpdb->posts
WHERE post_type='acf-field' AND post_excerpt='$field_name';
");
}

然后我就可以使用:

update_field(get_acf_key('my_field_name'), 'some value', $post_id);

更新已包含该字段的帖子的字段,或添加该字段,它是对尚未包含该字段的帖子的关键引用。

关于wordpress - 如何从 WordPress 数据库获取高级自定义字段字段键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21184015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com