1 comment

  1. Getting the posts after a specific time will be done in 2 steps.

    1. You need to store the last login time of the user.
    2. Changing the query to pull the posts which are modified after the above login time.

    The below function will store the last login time of the user.

    // Associating a function to login hook
    add_action ( 'wp_login', 'set_last_login' );
    
    function set_last_login ( $login ) {
        $user = get_userdatabylogin ( $login );
    
        // Setting the last login of the user
        update_usermeta ( $user->ID, 'last_login', date ( 'Y-m-d H:i:s' ) );
    }
    

    Then you need to collect the last login time of the logged in user and modify the query as below.

    <?php
    // Get current user object
    $current_user = wp_get_current_user();
    
    // Get the last login time of the user
    $last_login_time = get_user_meta ( $current_user->ID, 'last_login', true );
    
    // WP_Query with post modified time
    $the_query = new WP_Query(
                    array(
                        'date_query' =>
                            array(
                                'column' => 'post_modified',
                                'after' => $last_login_time,
                            )
                    )
                );
    ?>
    <?php if ( $the_query->have_posts() ) : ?>
    
        <?php // Start the Loop ?>
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <?php // Show the output ?>
        <?php endwhile; ?>
    
    <?php endif; ?>
    <?php
    // Restore original Post Data
    wp_reset_postdata();
    ?>
    

Comments are closed.