是否更改WordPress中的媒体标题/描述冲突?

时间:2014-01-23 作者:edeneye

上载图像时,Wordpress通过以下方式从jpg读取描述元数据wp_read_image_metadata 并将其插入post_content 通过添加附件时的字段media_handle_uploadmedia_handle_sideload

但是当在Wordpress中向编辑器添加图像时,它会在post_excerpt 字段viaimage_media_send_to_editor

我想要的只是一些连续性,在上传图像时,WordPress为图像元描述填充的字段就是在编辑器中放置图像时用于标题的字段。

有谁能建议一种方法,我可以连接到这些函数中的任何一个,以便匹配流程?我真的不在乎我用哪种方式修复它,尽管我倾向于这样认为post_excerpt 由于它是一个“较小”的字段,因此可以减少数据库开销。

非常感谢您的帮助。

谢谢

1 个回复
SO网友:birgire

我想知道这是否适用于您:

add_action( \'add_attachment\', function( $attachment_id ){
    $a = get_post( $attachment_id );
    if ( is_object( $a ) && \'image\' === substr( $a->post_mime_type, 0, 5 ) )
        wp_insert_attachment( array( \'ID\' => $a->ID, \'post_excerpt\' => $a->post_content ) );

});
或使用较少的查询:

add_action( \'add_attachment\', function( $attachment_id ){
    global $wpdb;
    if( ! empty( $attachment_id ) )
        $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts 
                                       SET post_excerpt = post_content 
                                       WHERE ID = %d LIMIT 1", $attachment_id ) );

});
其中描述(post_content) 复制到标题(post_excerpt) 当add_attachment 在插入(添加)附件后立即激发。

结束

相关推荐

有没有等同于MediaWiki模板的WordPress

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