• archmagetony

    (@archmagetony)


    自己很多文章都是从为知笔记通过离线插件xmlrpc发布的,但是最近发现一个问题,如果我要是编辑了里面的内容再次更新发布的时候,虽然文章不会出现一篇新的,但是媒体库里面的图片会自己额外生成出来一张 “文件名-1″ 然后是-2-3-4以此类推,并且文章就不会用旧的图片了。结果就造成了非常多的重复图片。我想通过修改WordPress代码的方式,让他在xmlrpc上传的时候如果文件已经存在就直接使用已经存在的图片而不是在重命名后上传一张新的。想问下需要怎么解决?
    我找到的一些有关的函数,有一点思路,但是不知道该从哪里下手。
    1、我在”wp-includes”文件夹里面的”function.php”找到了如果发现名字重复就重命名的函数”wp_unique_filename”和上传文件时使用的函数”wp_upload_bits”。
    2、我在”class-wp-xmlrpc-server.php”里面找到了调用上传时的那句代码”$upload = wp_upload_bits($name, null, $bits);”

    我最早的思路是说如果文件重复了就把旧的文件删掉,结果我发现虽然删掉了,但是由于数据库里面的内容还存在导致媒体库里面出现了两张名字一样的图片。之后我又换了思路说如果要是判断文件存在然后不上传了的话也可以,结果是媒体库里面出现了空的一个文件,并且文章中的图片也不显示。这两种方法修改完之后媒体库里的内容就全都乱套了。。。我还没有找到插入图片信息到数据库的代码。。想求大神指导下,该怎么修改比较好。

查看 2 回复 - 1 至 2 (总计 2)
  • 诗语

    (@f2010525)

    xmlrpc 有安全问题,已经不提倡使用 xmlrpc 发布文章,你可以找找其他的工具,支持 WP-REST-API 的是最新,至于你说的笔记同步折腾这些没用,喜欢就用吧,上面图片重复的问题,没使用这些东西猜测下应该是笔记自动又上传了一次图片。

    帖子发表于 archmagetony

    (@archmagetony)

    @f2010525
    谢谢,因为现在暂时还没有找到替代品,所以只能先使用xmlrpc了,重复是因为WordPress在xmlrpc上传的时候是不会判断文件是否已经存在了的,而是全部当做新的内容重命名后再次上传了。

查看 2 回复 - 1 至 2 (总计 2)
  • 话题 ‘xmlrpc上传图片重复’不再接受新回复。