Чтобы увеличить счетчик и получить его без создания новой таблицы. Вы должны использовать API параметров. Это безопасное обновление ядра.
Во-первых, включите в свои скрипты темы следующее, которое, как я предполагаю, у вас есть локальный скрипт темы или файлы плагина js. Вы должны локализовать свой скрипт для использования ajax в "WP Way"
jQuery(document).ready(function($){
$('a#download').click(function(e){
e.preventDefault();
$.ajax({
url: myajax.ajaxurl,
data: {
action: 'increment_counter',
},
type: 'POST',
})
.done(function(){
// go to the link they clicked
window.location = $(this).attr('href');
})
.fail(function(xhr){
console.log(xhr);
})
});
});
Затем добавьте следующее к своим функциям. php или в свой плагин.
add_action('wp_ajax_increment_counter', 'my_increment_counter');
add_action('wp_ajax_nopriv_increment_counter', 'my_increment_counter');
function my_increment_counter(){
// Name of the option
$option_name = 'my_click_counter';
// Check if the option is set already
if ( get_option( $option_name ) !== false ) {
$new_value = intval(get_option($option_name)) + 1;
// The option already exists, so update it.
update_option( $option_name, $new_value );
} else {
// The option hasn't been created yet, so add it with $autoload set to 'no'.
$deprecated = null;
$autoload = 'no';
add_option( $option_name, 1 , $deprecated, $autoload );
}
}
Поэтому, когда вам нужно получить значение, не увеличивая его, просто используйте
get_option('my_click_counter')