过滤'the_content',但使用高级自定义字段

时间:2014-02-06 11:16:19

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

我正在使用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');

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

1 个答案:

答案 0 :(得分: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过滤器替换您的自定义字段值。