WordPress挂钩attachment_fields_to_save不会影响文件上传时的附件数据



我正试图找出Wordpress最初在哪里设置附件的文章标题。

在浏览完源代码后,我发现了一个名为attachment_fields_to_save的钩子,根据文档,它"为post_title提供默认值"。看起来是对的地方,但是。。。

出于某种原因,我不能使用这个钩子通过添加这样的过滤函数来更改附件数据:

function tt_use_filter($post, $attachment) {
    $post['post_title'] = 'Nasenbär';
    return $post;
}
add_filter('attachment_fields_to_save', 'tt_use_filter', 10, 2);

我尝试了几种方法来实现这一点:

  • 创建(并激活)插件
  • 编辑了主题的函数.php
  • 增加了优先级参数
  • 破解了核心函数image_attachment_fields_to_save
  • 甚至从4.0降到3.9

我在这里错过了什么?

为了节省时间:我对任何变通方法都不感兴趣,因为我知道如何实现自定义默认值。我真的很想知道为什么在使用上面的代码时,钩子attachment_fields_to_save对文件上传没有影响。

解决方案非常简单:文件上传时不调用attachment_fields_to_save

我是怎么发现的?在谷歌上搜索了主题"Wordpress调试"后,我看到了这篇博客文章,其中提到了非常有用的Wordpress函数wp_debug_backtrace_summary。您可以使用这个gem来回溯发生的每个函数调用,直到wp_debug_backtrace_summary本身执行为止。

进一步注意:使用该调试工具,我发现了一个函数,可以轻松地在文件上传时初始设置帖子标题。这是media_handle_upload。

相关内容

  • 没有找到相关文章

最新更新