You may want to create link to another post from the single.html. In that case, you’ll need to modify the history and screen transitions behavior.

The code below detects a post to post navigation and modifies the history accordingly. It is already there by default in Q theme for Android. What you’ll need to add is a “last history action” memory to it (see highlighted lines), so that the correct screen transition can be triggered:

//Memorize last history action to be able to run the corresponding transition:
var last_history_action = '';

// @desc Catch if we're going to a single and coming from a single (it is the case when clicking on a post in the last posts widget at the bottom of a post)
// Update properly the history stack
App.filter( 'make-history', function( history_action, history_stack, queried_screen, current_screen, previous_screen ) {

    if( queried_screen.screen_type === 'single' && current_screen.screen_type === 'single' ) {
        if ( ( queried_screen.item_id !== previous_screen.item_id ) ) { // Going to a single to another single that is not the one we came from

            history_action = 'push';

        } else { // Going back to the previous single
            history_action = 'pop';
        }
    }

    //Memorize last history action:
    last_history_action = history_action;

    // Return the proper history action
    return history_action;

});

Then, thanks to this last_history_action memory, we can trigger the correct “previous” or “next” screen transitions when going from a single to another single:

// Handle screen transitions when going from a single and coming to a single:
App.filter( 'transition-direction', function( transition, current_screen, next_screen ){
	if( current_screen.screen_type === 'single' && next_screen.screen_type === 'single' ) {
		if ( last_history_action === 'push' ) {
			transition = 'next-screen';
		} else {
			transition = 'previous-screen';
		}
	}
	return transition;
});

Your “single to single” links should now behave nicely 🙂

Published by Benjamin on August 31, 2017

Head of Digital for a press group, WordPress since 2008, WordCamp organizer, developer for the fun

Leave a Reply

Your email address will not be published. Required fields are marked *

Having questions?

FAQ | Tutorials | Documentation

Or

Contact Us