目标
我目前有一个acf字段组,其中包含一些通用数据字段,如phonenumber,email等(所有简单的文本字段)。
我的目标是有一个函数可以循环所有字段,并根据它们各自的名称/标签创建一个短代码。
编辑:进度
我想我离这件事越来越近了,简化了整个事情,我相信我走在了正确的道路上。。
我将字段组附加到一个帖子,如果我这样记录它们:
$testing = get_field_objects(22);
do_action( 'php_console_log', $testing );
我得到了所有的名称、值等。在另一个代码片段的帮助下,我发现这些短代码似乎至少是动态的,因为它们都不再以某种方式显示没有值,所以都保持空白。
这就是现在的功能:
$hlfields = get_field_objects( 22 );
foreach ( $hlfields as ['name' => $name, 'value' => $value] ) {
${"{$name}_fn"} = function() {
$field = get_field($name, 22);
return $field;
};
add_shortcode($name, ${"{$name}_fn"});
}
原始尝试,不起作用且过于复杂:
我目前有一个acf字段组,其中包含一些通用数据字段,如phonenumber,email等(所有简单的文本字段)。
为了能够使用短代码轻松地插入它们,我为每个字段创建一个,如下所示:
function adresse_shortcode( $adresse ) {
$adresse = get_field( "adresse", 'option' );
return $adresse;
}
add_shortcode('adresse', 'adresse_shortcode');
虽然这样做很好,但我觉得我是在不必要地重复自己,而且每当我添加一个新字段时,我都需要添加一个函数。
我的目标是有一个函数可以循环所有字段,并根据它们各自的名称/标签创建一个短代码。
我发现此代码段用于按ID获取字段组的所有字段:
function get_specifications_fields() {
global $post;
$specifications_group_id = 13; // Post ID of the specifications field group.
$specifications_fields = array();
$fields = acf_get_fields( $specifications_group_id );
foreach ( $fields as $field ) {
$field_value = get_field( $field['name'] );
if ( $field_value && !empty( $field_value ) ) {
$specifications_fields[$field['name']] = $field;
$specifications_fields[$field['name']]['value'] = $field_value;
}
}
return $specifications_fields;
}
但我现在不知道如何创建短代码,我一直在尝试所有我能想到的方法:
function adresse_shortcode( $value ) {
$specifications_fields = get_specifications_fields();
foreach ( $specifications_fields as $name => $field ) {
$value = $field['value'];
$label = $field['label'];
$name = $field['name'];
return $name;
}
add_shortcode($value, 'adresse_shortcode');
}
我对PHP不是很精通,所以我确信这是各种各样的错误,但我已经尝试了几个小时,希望有人能给我指出正确的方向。
这里有一个使用匿名函数的例子,应该可以做到这一点
$hlfields = get_field_objects( 22 );
foreach ( $hlfields as ['name' => $name, 'value' => $value] ) {
$cb = function() use ($name) {
$field = get_field($name, 22);
return $field;
};
add_shortcode( $name, $cb );
}
以下是我在回答时提到的源代码:php中的动态函数名、WordPress中的动态短代码和函数、php:变量函数
MarkLogic 9.0.8.2 在开发环境中,我们逐个创建了5个字段(Field1、Field2、Field3、Field4、Field5),即每个索引需要大约20个小时来19M记录,搜索工作正常。 对于系统测试环境,我们以相同的顺序一次创建了5个字段,MarkLogic花了大约3天的时间完成了对19M条记录的索引。 但搜索只对Field1有效,对其他字段无效。我们尝试了一切,但都没有成功,然
我知道,如果没有给出ObjectID,Mongoose会自动用ObjectID填充_id字段,并且在构造模型和实例时可以覆盖_id。 猫鼬3.0.x 让我们把这个说得更具体些。想象一个,我想通过删除标题来创建漂亮的URL。为了将slug映射到Mongo对象,我对slug进行散列,并将其转换为以利用它的优点。现在,我正在寻找一个透明的方法,它允许我只通过传入来创建的实例,并自动生成和属性。
在创建新的字段类型之前,请考虑其他自定义字段的方法是否适合您的需求。 如果您的应用程序需要存储新的值类型,或者希望为现有的值类型创建新的UI,则可能需要创建一个新的字段类型。 要创建一个新字段,请执行以下操作: 实现一个构造函数 注册一个JSON密钥并实现fromJson 处理块上UI和事件侦听器的初始化 处理事件侦听器(已为您进行了UI处理) 实现值处理 添加字段值的文本表示形式,以实现可访问性
通过“自定义字段”方法创建数据后,数据里没有任何记录,需要到地图编辑模块添加数据。新建数据时,请注意选择到数据类型(点线面),创建完成后不可以修改。 选择通过自定义字段创建,需要手动输入属性列,并选择好属性列的类型,如文本/数值等。其中数值列可以用于统计。
我需要在Cms后端表单(fields.yaml)中创建一个多选表单字段。我采用了以下方法 选择_字段: 此字段的选项将从模型中调用 一切正常,但当我提交表单时,只有第一个选择的选项作为JSON数据插入到数据库表文本字段中。我希望存储每个选定的选项。我也在模型中声明该字段为Jsonable,即受保护的$Jsonable=['field_name']; 注意:当我使用类型作为检查框列表时,它像我想的那
我使用自定义短代码来显示我的内容内的引导模式。问题是,