在博客文章中插入附件时,如何让WordPress使用带有扩展名的完整文件名?

时间:2015-09-02 作者:Adam McCaughan

我使用WordPress来跟踪几种不同类型的数据,这些数据都有不同的扩展名——file1。图,文件2。dat等。当我上传文件并将其插入博客帖子时,我希望看到文件的完整文件名+文件扩展名。目前,当我上传“myfile.dat”时,Wordpress会根据文件名自动生成文件标题——附件详细信息将显示其标题为“myfile”。然后,当我将媒体插入我的博客帖子时,它会创建一个指向该文件的链接,但该链接的文本与标题(“myfile”)匹配,标题中不包含文件扩展名。

本质上,当我上传“myfile.dat”并将其插入我的博客帖子时,我希望链接文本是扩展名为“myfile.dat”的完整文件名,而不仅仅是“myfile”。如何让wordpress在上传时正确格式化标题,或更改将媒体插入帖子的方式(例如,让它粘贴附件文件名而不是标题作为链接文本)

1 个回复
SO网友:Adam McCaughan

我结合这两篇帖子的答案,自己想出了如何重新调整附件的标题:

How can I add a default description to uploaded files?

Change attachment filename

这是代码,它正在我当前的WP安装(v4.3)上运行

function wpse_retitle_attachment( $post_ID )
{
    $file = get_attached_file($post_ID);
    $path = pathinfo($file);
    $args = array( 
                    \'ID\'           => $post_ID, 
                    \'post_title\'   => $path[\'filename\'] . "." . $path[\'extension\'], 
                    // \'post_excerpt\' => \'My default caption ...\', 
                    // \'post_content\' => \'My default description ...\', 
            );

    wp_update_post( $args );

}
add_action( \'add_attachment\', \'wpse_retitle_attachment\' );