我正在使用Advance Custom Fields local json 因此,我可以在不同的环境中同步表单。
请参阅下面的我的函数,在注释中包含var dump输出,以便您可以看到发生了什么。。。
function acf_json_absolute_path ($path) {
/**
var_dump($path);
Array (
[0] => /sites/joshmoto/subdomains/domain.com/wp-content/themes/werks/acf-json
)
*/
$path[0] = get_template_directory() . \'/config/acf-json\';
/**
var_dump($path);
Array (
[0] => /sites/joshmoto/subdomains/domain.com/wp-content/themes/werks/config/acf-json
)
*/
return $path;
}
add_filter(\'acf/settings/save_json\', \'acf_json_absolute_path\');
add_filter(\'acf/settings/load_json\', \'acf_json_absolute_path\');
但每次我保存自定义字段时config/acf-json
文件夹
但如果我创建一个空acf-json
文件夹,并重新保存所有ACF字段组,json文件将在此处创建。
我不明白为什么
config/acf-json
路径被忽略并使用默认路径
acf-json
地方
有人能帮我理解将json保存/加载到我的config
文件夹位置?
最合适的回答,由SO网友:Kaperto 整理而成
这两个过滤器的输出不相同。你可以测试一下
add_filter(\'acf/json_directory\', function ($path) {
return get_template_directory() . \'/config/acf-json\';
});
add_filter(\'acf/settings/save_json\', function ($path) {
return apply_filters("acf/json_directory", NULL);
});
add_filter(\'acf/settings/load_json\', function ($paths) {
return [
apply_filters("acf/json_directory", NULL)
];
});