class.jetpack-sync-module-attachments.php
| 1 | <?php |
| 2 | |
| 3 | class Jetpack_Sync_Module_Attachments extends Jetpack_Sync_Module { |
| 4 | function name() { |
| 5 | return 'attachments'; |
| 6 | } |
| 7 | |
| 8 | public function init_listeners( $callable ) { |
| 9 | add_action( 'add_attachment', array( $this, 'process_add' ) ); |
| 10 | add_action( 'attachment_updated', array( $this, 'process_update' ), 10, 3 ); |
| 11 | add_action( 'jetpack_sync_save_update_attachment', $callable, 10, 2 ); |
| 12 | add_action( 'jetpack_sync_save_add_attachment', $callable, 10, 2 ); |
| 13 | add_action( 'jetpack_sync_save_attach_attachment', $callable, 10, 2 ); |
| 14 | } |
| 15 | |
| 16 | function process_add( $attachment_id ) { |
| 17 | $attachment = get_post( $attachment_id ); |
| 18 | /** |
| 19 | * Fires when the client needs to sync an new attachment |
| 20 | * |
| 21 | * @since 4.2.0 |
| 22 | * |
| 23 | * @param int The attachment ID |
| 24 | * @param object The attachment |
| 25 | */ |
| 26 | do_action( 'jetpack_sync_save_add_attachment', $attachment_id, $attachment ); |
| 27 | } |
| 28 | |
| 29 | function process_update( $attachment_id, $attachment_after, $attachment_before ) { |
| 30 | // Check whether attachment was added to a post for the first time |
| 31 | if ( 0 === $attachment_before->post_parent && 0 !== $attachment_after->post_parent ) { |
| 32 | /** |
| 33 | * Fires when an existing attachment is added to a post for the first time |
| 34 | * |
| 35 | * @since 6.6.0 |
| 36 | * |
| 37 | * @param int The attachment ID |
| 38 | * @param object The attachment |
| 39 | */ |
| 40 | do_action( 'jetpack_sync_save_attach_attachment', $attachment_id, $attachment_after ); |
| 41 | } else { |
| 42 | /** |
| 43 | * Fires when the client needs to sync an updated attachment |
| 44 | * |
| 45 | * @since 4.9.0 |
| 46 | * |
| 47 | * @param int The attachment ID |
| 48 | * @param object The attachment |
| 49 | * |
| 50 | * Previously this action was synced using jetpack_sync_save_add_attachment action. |
| 51 | */ |
| 52 | do_action( 'jetpack_sync_save_update_attachment', $attachment_id, $attachment_after ); |
| 53 | } |
| 54 | } |
| 55 | } |
| 56 |