【问题标题】:Filtering 'the_content', but with Advanced Custom Fields过滤“the_content”,但使用高级自定义字段
【发布时间】:2014-02-06 11:16:18
【问题描述】:

我正在使用 str_replace 更改 the_content,使用 WordPress 的默认“the_content”。

但是,这似乎不会影响通过高级自定义字段插件提交的任何内容。

我的原始功能,适用于默认 WordPress 编辑器:

function same_youtube_options($content) {
  return str_replace("rel=0&", "rel0&theme=light&autohide=1&showinfo=0&controls=1&", $content);
}
add_filter('the_content', 'same_youtube_options');

这个,针对高级自定义字段进行了调整:

function same_youtube_options_controls_acf($field) {
  $field = get_sub_field('iframe_url'); 
    return str_replace("rel=0&", "rel0&&autohide=1&showinfo=0&controls=1&", $field);
}

add_filter('acf/load_field/name=iframe_url', 'same_youtube_options_controls_acf');

但是,后者不起作用。它只是从页面中删除该字段。有人知道如何正确使用这些过滤器吗?

【问题讨论】:

    标签: php wordpress wordpress-theming advanced-custom-fields


    【解决方案1】:

    试试这个:--

    function same_youtube_options_controls_acf($value, $post_id, $field )
    {
        // run the_content filter on all textarea values
        $value = apply_filters('the_content',$value);
        return $value;
    }
    add_filter('acf/load_value/name=iframe_url', 'same_youtube_options_controls_acf', 10, 3);
    

    这个钩子会用the_content过滤器替换你的自定义字段值。

    【讨论】:

    • 谢谢。 10、30个参数有什么作用?
    • 不是10,30...它的10, 3...完整功能参数如下:-- add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) 在此处查看文档:-- codex.wordpress.org/Function_Reference/add_filter 如果有,请接受答案适合你...
    猜你喜欢
    • 2018-09-02
    • 2016-06-30
    • 2018-01-21
    • 1970-01-01
    • 2016-12-18
    • 2013-11-07
    • 2013-11-25
    • 1970-01-01
    • 2017-12-16
    相关资源
    最近更新 更多