Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Schedule the event on plugin activation
- function wbcom_stories_activation() {
- if ( ! wp_next_scheduled( 'wbcom_stories_delete_old_posts' ) ) {
- wp_schedule_event( time(), 'daily', 'wbcom_stories_delete_old_posts' );
- }
- }
- register_activation_hook( __FILE__, 'wbcom_stories_activation' );
- // Clear the scheduled event on plugin deactivation
- function wbcom_stories_deactivation() {
- $timestamp = wp_next_scheduled( 'wbcom_stories_delete_old_posts' );
- wp_unschedule_event( $timestamp, 'wbcom_stories_delete_old_posts' );
- }
- register_deactivation_hook( __FILE__, 'wbcom_stories_deactivation' );
- // Hook the function to the scheduled event
- add_action( 'wbcom_stories_delete_old_posts', 'wbcom_delete_old_wp_stories_posts' );
- function wbcom_delete_old_wp_stories_posts() {
- $post_types = array( 'wb-story', 'wb-story-box', 'wb-user-story' );
- $days = 7; // Number of days
- foreach ( $post_types as $post_type ) {
- $args = array(
- 'post_type' => $post_type,
- 'posts_per_page' => -1,
- 'post_status' => 'any',
- 'date_query' => array(
- 'column' => 'post_date_gmt',
- 'before' => date( 'Y-m-d', strtotime( "-$days days" ) )
- ),
- );
- $query = new WP_Query( $args );
- if ( $query->have_posts() ) {
- while ( $query->have_posts() ) {
- $query->the_post();
- // Get the post ID
- $post_id = get_the_ID();
- // Delete associated media
- $attachments = get_attached_media( '', $post_id );
- foreach ( $attachments as $attachment ) {
- wp_delete_attachment( $attachment->ID, true );
- }
- // Delete the post
- wp_delete_post( $post_id, true );
- }
- }
- wp_reset_postdata();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement