Skip to content

Instantly share code, notes, and snippets.

@jimmyandrade
Last active March 17, 2017 17:45
Show Gist options
  • Save jimmyandrade/b631b73f86f9b0b4b820 to your computer and use it in GitHub Desktop.
Save jimmyandrade/b631b73f86f9b0b4b820 to your computer and use it in GitHub Desktop.
Template redirect
<?php
public static function template_redirect() {
$current_user_id = get_current_user_id();
if ( is_search() && is_user_logged_in() ) {
$search_query = get_search_query();
$last_search_queries = get_user_meta( $current_user_id, 'last_search_queries', true );
$last_search_queries[] = $search_query;
$last_search_queries = apply_filters( 'search_queries', $last_search_queries );
$update_user_meta = update_user_meta( $current_user_id, 'last_search_queries', $last_search_queries, false );
} if ( is_singular( 'item' ) && is_user_logged_in() ) {
$the_id = intval( get_the_ID() );
$user_meta = get_user_meta( $current_user_id, 'last_visited_items', true );
if ( is_array( $user_meta ) ) {
$user_meta [] = $the_id;
} else {
$user_meta = array( $the_id );
}
$user_meta = array_unique( $user_meta );
update_user_meta( $current_user_id, 'last_visited_items', $user_meta, false );
$the_terms = get_the_terms( get_the_ID(), 'category' );
$user_last_categories_meta = get_user_meta( $current_user_id, 'user_last_categories', true );
$the_terms_ids = array();
foreach ( $the_terms as $term ) {
$the_terms_ids[] = $term->term_id;
}
if ( is_array( $user_last_categories_meta ) ) {
$user_last_categories_meta = array_merge( $user_last_categories_meta, $the_terms_ids );
} else {
$user_last_categories_meta = $the_terms_ids;
}
$user_last_categories_meta = array_unique( $user_last_categories_meta );
update_user_meta( $current_user_id, 'user_last_categories', $user_last_categories_meta, false );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment