Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拆下滤清器&x27;格式#u值';从高级自定义字段中的灵活字段类型_Php_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php 拆下滤清器&x27;格式#u值';从高级自定义字段中的灵活字段类型

Php 拆下滤清器&x27;格式#u值';从高级自定义字段中的灵活字段类型,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我正在进行一些灵活字段类型的定制。我想做的是完全删除格式\u值过滤器,并在加载\u值后运行我自己的过滤器 我尝试了下面的代码来删除我确信可以工作的过滤器。但是,唉。我做错了什么 remove_filter('acf/format_value/type=flexible_content',数组('acf_field_flexible_content','format_value'),10) 参考: 以下是有关过滤器的信息: 在$wp_filter global中,以下是参考: [acf/form

我正在进行一些灵活字段类型的定制。我想做的是完全删除格式\u值过滤器,并在加载\u值后运行我自己的过滤器

我尝试了下面的代码来删除我确信可以工作的过滤器。但是,唉。我做错了什么

remove_filter('acf/format_value/type=flexible_content',数组('acf_field_flexible_content','format_value'),10)

参考:

以下是有关过滤器的信息:

在$wp_filter global中,以下是参考:

[acf/format_value/type=flexible_content] => WP_Hook Object
        (
            [callbacks] => Array
                (
                    [10] => Array
                        (
                            [000000004e0e085b00000000706fba6bformat_value] => Array
                                (
                                    [function] => Array
                                        (
                                            [0] => acf_field_flexible_content Object
                                                (
                                                    [name] => flexible_content
                                                    [label] => Flexible Content
                                                    [category] => layout
                                                    [defaults] => Array
                                                        (
                                                            [layouts] => Array
                                                                (
                                                                )

                                                            [min] => 
                                                            [max] => 
                                                            [button_label] => Add Row
                                                        )

                                                    [l10n] => Array
                                                        (
                                                            [layout] => layout
                                                            [layouts] => layouts
                                                            [remove] => remove {layout}?
                                                            [min] => This field requires at least {min} {identifier}
                                                            [max] => This field has a limit of {max} {identifier}
                                                            [min_layout] => This field requires at least {min} {label} {identifier}
                                                            [max_layout] => Maximum {label} limit reached ({max} {identifier})
                                                            [available] => {available} {label} {identifier} available (max {max})
                                                            [required] => {required} {label} {identifier} required (min {min})
                                                            [layout_warning] => Flexible Content requires at least 1 layout
                                                        )

                                                    [public] => 1
                                                )

                                            [1] => format_value
                                        )

                                    [accepted_args] => 3
                                )

                        )

                    [4000] => Array
                        (
                            [my_acf_format_valuexxxx] => Array
                                (
                                    [function] => my_acf_format_valuexxxx
                                    [accepted_args] => 3
                                )

                        )

                )

            [iterations:WP_Hook:private] => Array
                (
                )

            [current_priority:WP_Hook:private] => Array
                (
                )

            [nesting_level:WP_Hook:private] => 0
            [doing_action:WP_Hook:private] => 
        )

因此,我最终向ACF提出了关于这一点的支持票,并得到了很好的回应和解决方案供参考:

remove_filter函数要求将objct作为>数组目标的第一个参数,而不是字符串。您可以获得灵活的内容字段 反对意见如下:

acf\u get\u field\u type($field\u type)

在实际使用中,您的代码应该如下所示:


测试和工作:-)

我要补充的是,您必须在
acf/init
hook中使用它。否则它将不起作用,或者如果您使用
init
hook,您将得到致命的,因为没有定义
acf\u get\u field\u type
。 (我对gallery field使用了相同的方法)

remove_filter('acf/format_value/type=flexible_content',array(acf_get_field_type('flexible_content'), 'format_value'), 10 );
add_action('acf/init', function () {
    remove_filter('acf/format_value/type=gallery', array(acf_get_field_type('gallery'), 'format_value'), 10);
});