有没有办法在媒体文件上传到WordPress后立即为其添加默认描述?
具体来说,我想修改代码here 从PDF文件中提取文本,并将其包含在WP中媒体项的描述中。
我发现,使用“attachment\\u fields\\u to\\u save”挂钩添加过滤器将允许我更改媒体的描述(post\\u内容),但只有在我单击“编辑媒体”屏幕上的“更新”后,它才起作用。首次上载项目时,描述默认为空。
谢谢你的帮助!
有没有办法在媒体文件上传到WordPress后立即为其添加默认描述?
具体来说,我想修改代码here 从PDF文件中提取文本,并将其包含在WP中媒体项的描述中。
我发现,使用“attachment\\u fields\\u to\\u save”挂钩添加过滤器将允许我更改媒体的描述(post\\u内容),但只有在我单击“编辑媒体”屏幕上的“更新”后,它才起作用。首次上载项目时,描述默认为空。
谢谢你的帮助!
如果我们看看wp_insert_attachment()
我们找到了钩子edit_attachment
和add_attachment
. 在你的情况下,我们可以使用add_attachment
钩回调将附件的ID作为参数。通过查看数据库表wp_posts
我们看到描述保存为post_content
标题为post_excerpt
:
然后您可以尝试以下代码段:
/**
* 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\' );
当您在媒体上载程序中上载文件时,应该会得到以下结果:我是WordPress的新手,急需一种重用常见页面内容的方法。例如,我们有10多个产品页面,在每个产品页面的不同区域,我想包括一个文本声明。在MediaWIKI中,他们有一个Templates 哪个区域太棒了!您可以使用希望包含的内容定义模板,然后将模板包含在页面中。它就像一个预处理器合并系统,将模板的内容转储到需要它的页面中。以下主题似乎接近我想要的内容,但并不确切Text snippets shared across postsTurn a snippet of HTML and PHP into a