From 92d7fb7f1b7c5eff1fac4b3e1c9a7d58ec46a2ca Mon Sep 17 00:00:00 2001 From: msdev20 Date: Sat, 13 Feb 2021 19:15:20 +0530 Subject: [PATCH] Load User favorite list by ajax to bypass cache --- script.js | 15 +++++++++++++++ wp-favorite-posts.php | 20 ++++++++++++++++++++ wpfp-widgets.php | 12 ++---------- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/script.js b/script.js index 884172d..2cd39f5 100644 --- a/script.js +++ b/script.js @@ -28,3 +28,18 @@ function wpfp_do_js( dhis, doAjax ) { ); } } + +function wpfp_after_ajax(dthis) { + wpfp_user_favorite_list(); +} + +function wpfp_user_favorite_list() { + var mylist = jQuery(".user-favorite-list"); + url = document.location.href.split('#')[0]; + params = 'wpfpaction=user-favorite-list&ajax=1'; + + jQuery.get(url, params, function(data) { + mylist.html(data); + } + ); +} diff --git a/wp-favorite-posts.php b/wp-favorite-posts.php index 6970ee2..cc2104c 100644 --- a/wp-favorite-posts.php +++ b/wp-favorite-posts.php @@ -60,6 +60,8 @@ function wp_favorite_posts() { } else if ($_REQUEST['wpfpaction'] == 'clear') { if (wpfp_clear_favorites()) wpfp_die_or_go(wpfp_get_option('cleared')); else wpfp_die_or_go("ERROR"); + } else if ($_REQUEST['wpfpaction'] == 'user-favorite-list') { + wpfp_user_favorite_list(); } endif; } @@ -470,3 +472,21 @@ function wpfp_get_option($opt) { $wpfp_options = wpfp_get_options(); return htmlspecialchars_decode( stripslashes ( $wpfp_options[$opt] ) ); } + +// User favorite list loaded using ajax to prevent cache issue +function wpfp_user_favorite_list() { + $options = wpfp_get_options(); + $limit = 5; + if (isset($options['uf_widget_limit'])) { + $limit = $options['uf_widget_limit']; + } + + $favorite_post_ids = wpfp_get_users_favorites(); + + if (@file_exists(TEMPLATEPATH.'/wpfp-your-favs-widget.php')): + include(TEMPLATEPATH.'/wpfp-your-favs-widget.php'); + else: + include("wpfp-your-favs-widget.php"); + endif; + die(); +} \ No newline at end of file diff --git a/wpfp-widgets.php b/wpfp-widgets.php index bed9abd..728fb01 100644 --- a/wpfp-widgets.php +++ b/wpfp-widgets.php @@ -48,22 +48,14 @@ function wpfp_widget_control() { function wpfp_users_favorites_widget_view($args) { extract($args); $options = wpfp_get_options(); - if (isset($options['uf_widget_limit'])) { - $limit = $options['uf_widget_limit']; - } + $title = empty($options['uf_widget_title']) ? 'Users Favorites' : $options['uf_widget_title']; echo $before_widget; echo $before_title . $title . $after_title; - $favorite_post_ids = wpfp_get_users_favorites(); - $limit = $options['uf_widget_limit']; - if (@file_exists(TEMPLATEPATH.'/wpfp-your-favs-widget.php')): - include(TEMPLATEPATH.'/wpfp-your-favs-widget.php'); - else: - include("wpfp-your-favs-widget.php"); - endif; + echo '
Loading...
'; echo $after_widget; }