按帖子标题重命名图像文件

时间:2019-04-09 作者:Panait Andrei Alexandru

致以最诚挚的问候,我想用帖子的标题更改自动图像的名称。

例如,我有一个名为1231231252345的图像。这篇文章的标题是“article for a test”,我想更改“article-for-a-test.jpg”中图像的名称

2 个回复
最合适的回答,由SO网友:MikeNGarrett 整理而成

我认为您需要的是过滤器:wp_handle_upload_prefilter.

从法典中:

单个参数,$file, 表示的单个元素$_FILES 大堆这个wp_handle_upload_prefilter 在文件移动到最终位置之前,您可以检查或更改文件名。

Codex中的示例代码:

add_filter(\'wp_handle_upload_prefilter\', \'custom_upload_filter\' );

function custom_upload_filter( $file ){
    $file[\'name\'] = \'wordpress-is-awesome-\' . $file[\'name\'];
    return $file;
}
如何使用此挂钩
add_filter( \'wp_handle_upload_prefilter\', \'custom_upload_filter\' );
function custom_upload_filter( $file ) {
    if ( ! isset( $_REQUEST[\'post_id\'] ) ) {
        return $file;
    }
    $id           = intval( $_REQUEST[\'post_id\'] );
    $parent_post  = get_post( $id );
    $post_name    = sanitize_title( $parent_post->post_title );
    $file[\'name\'] = $post_name . \'-\' . $file[\'name\'];
    return $file;
}

相关推荐

Use wget to find used images

我正在寻找方法来清理一个站点的图像目录,该站点已经被未使用的图像和缩略图超载。是否可以使用wget只下载站点上html页面引用的图像?我注意到可以浏览下载文件夹并查看列出的文件,所以我假设直接的wget-r将下载这些文件。如何使用wget,但不包括对上传目录进行爬网?