如何向上载的文件添加默认描述?

时间:2013-11-08 作者:pburke

有没有办法在媒体文件上传到WordPress后立即为其添加默认描述?

具体来说,我想修改代码here 从PDF文件中提取文本,并将其包含在WP中媒体项的描述中。

我发现,使用“attachment\\u fields\\u to\\u save”挂钩添加过滤器将允许我更改媒体的描述(post\\u内容),但只有在我单击“编辑媒体”屏幕上的“更新”后,它才起作用。首次上载项目时,描述默认为空。

谢谢你的帮助!

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

如果我们看看wp_insert_attachment() 我们找到了钩子edit_attachmentadd_attachment. 在你的情况下,我们可以使用add_attachment 钩回调将附件的ID作为参数。通过查看数据库表wp_posts 我们看到描述保存为post_content 标题为post_excerpt:

Looking inside the wp_posts database table

然后您可以尝试以下代码段:

/**
 * Default title, caption and description to uploaded attachments
 *
 * @param integer $post_ID The attachment\'s ID
 * @return void
 */

function wpse_121709_upload_defaults( $post_ID )
{
    $args = array( 
                    \'ID\'           => $post_ID, 
                    \'post_title\'   => \'My default title ...\', 
                    \'post_excerpt\' => \'My default caption ...\', 
                    \'post_content\' => \'My default description ...\', 
            );

    wp_update_post( $args );

}
add_action( \'add_attachment\', \'wpse_121709_upload_defaults\' );
当您在媒体上载程序中上载文件时,应该会得到以下结果:

Default title, caption and description

结束

相关推荐

有没有等同于MediaWiki模板的WordPress

我是WordPress的新手,急需一种重用常见页面内容的方法。例如,我们有10多个产品页面,在每个产品页面的不同区域,我想包括一个文本声明。在MediaWIKI中,他们有一个Templates 哪个区域太棒了!您可以使用希望包含的内容定义模板,然后将模板包含在页面中。它就像一个预处理器合并系统,将模板的内容转储到需要它的页面中。以下主题似乎接近我想要的内容,但并不确切Text snippets shared across postsTurn a snippet of HTML and PHP into a