每次上传文件时,都会新建一个附件帖子,所以post_updated
hook或的第三个参数save_post
胡克帮不了你。
您说过您有一个管理员可以上传文件的“字段”。这让我猜测您正在CPT中使用一些自定义字段来存储附件ID或url。
在这种情况下,您可以使用updated_postmeta
钩子以侦听用于存储值的元键上的更改。
请注意,此挂钩仅在字段更新时触发,因此在首次保存时不会触发。
未经测试和概念验证的示例代码为:
add_action( \'updated_postmeta\', function( $metaId, $postId, $metaKey, $metaValue ) {
// replace "your-meta-key" with the actual meta key where attachment info is saved
if ( $metaKey !== \'your-meta-key\' )
return; // do nothing if the meta key is not the right one
// replace "your-ctp-slug" with the actual CPT slug
if ( get_post_field( \'post_type\', $postId ) !== \'your-ctp-slug\' )
return; // do nothing if the post type is not the right one
// if here, the field where attachment is stored has been updated, send the email
wp_mail(
\'[email protected]\',
\'Attachment updated.\'
"The attachment {$metaValue} has been updated"
);
}, 10, 4 );