最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

plugins - How to fix caching issue in PHP data from database

programmeradmin2浏览0评论

Im trying to use the code belong for my plugin development but there is a caching issue (I think). Please below for the details.

Problem

I created filter to accept the customized url, and I'm querying the database but it seams like the result value is not changing in the browser but changing in the database. So basically the data passed is not returning the updated value from the database.

Code

add_action( 'init',  function() {
    add_rewrite_rule('coupon/([a-zA-Z0-9]+)[/]?$', 'index.php?coupon=$matches[1]', 'top');
});

add_filter('query_vars', function( $query_vars ) {
    $query_vars[] = 'coupon';
    return $query_vars;
});

add_action( 'template_include', function( $template ) {
    if ( get_query_var( 'coupon' ) == false || get_query_var( 'coupon' ) == '' ) {
        return $template;
    }

    ob_clean();
    ob_start();

    // Check if coupon exists
    global $wpdb;
    $coupon = get_query_var('coupon');

    $coupon_query = $wpdb->prepare('SELECT * FROM wp_urls WHERE coupon = %s AND claimed_at IS NULL', $coupon);
    $coupon_available = $wpdb->query($coupon_query) ? true : false;

    if(!$coupon_available) {
        header('Location: /'); // Redirect to landing page
        exit();
    }
    
    return plugin_dir_path(__FILE__) . 'views/client/index.php';;
} );

index.php (Update function with the form)

After clicking submit button, the code below will run.

$update_query = "UPDATE wp_urls SET 
                        `email` = %s, 
                        `phone_number` = %s, 
                        `first_name` = %s, 
                        `last_name` = %s, 
                        `message` = %s, 
                        `claimed_at` = %s 
                        WHERE `coupon` = %s";

//  Execute query
$wpdb->query($wpdb->prepare($update_query, $placeholder_values));

Expected Result

The expected result should redirect the user to the header('Location: /'); if the coupon is not available.

Any idea?

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>