Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
makura-2025
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Raj Shah
makura-2025
Commits
a7b7c6a8
Commit
a7b7c6a8
authored
Jul 16, 2025
by
rajshah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: download resource count fix v1.4
parent
fd02c47d
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
11 deletions
+19
-11
script.js
assets/js/script.js
+4
-4
functions.php
functions.php
+15
-7
enqueuer.php
includes/enqueuer.php
+0
-0
No files found.
assets/js/script.js
View file @
a7b7c6a8
...
...
@@ -343,12 +343,12 @@
})(
jQuery
);
// download count
jQuery
(
document
).
ready
(
function
(
$
)
{
$
(
"
#btn-resource
-download"
).
on
(
"click"
,
function
()
{
$
(
"
.btn
-download"
).
on
(
"click"
,
function
()
{
const
resourceId
=
$
(
this
).
data
(
"resource-id"
);
console
.
log
(
"Resource ID:"
,
resourceId
);
$
.
ajax
({
url
:
download_resource_object
.
ajax_
url
,
url
:
download_resource_object
.
ajax
url
,
type
:
"POST"
,
data
:
{
action
:
"increment_download_count"
,
...
...
@@ -359,11 +359,11 @@ jQuery(document).ready(function ($) {
if
(
response
.
success
)
{
$
(
"#download-count"
).
text
(
response
.
new_count
);
}
else
{
console
.
log
(
"Error:"
,
response
.
message
);
console
.
error
(
"Error:"
,
response
.
message
);
}
},
error
:
function
(
xhr
,
status
,
error
)
{
console
.
log
(
"AJAX Error:"
,
error
);
console
.
error
(
"AJAX Error:"
,
error
);
},
});
});
...
...
functions.php
View file @
a7b7c6a8
...
...
@@ -403,27 +403,34 @@ function calculate_reading_time($content)
return
$reading_time
;
}
// !article read time
add_action
(
'wp_ajax_increment_download_count'
,
'increment_download_count'
);
add_action
(
'wp_ajax_nopriv_increment_download_count'
,
'increment_download_count'
);
if
(
!
session_id
())
{
session_start
();
}
function
increment_download_count
()
{
function
increment_download_count
()
{
// Verify the AJAX request
if
(
!
isset
(
$_POST
[
'resource_id'
])
||
!
is_numeric
(
$_POST
[
'resource_id'
]))
{
wp_send_json_error
([
'message'
=>
'Invalid resource ID'
]);
}
$resource_id
=
intval
(
$_POST
[
'resource_id'
]);
if
(
!
isset
(
$_SESSION
))
{
// Start session if not already started
if
(
!
session_id
())
{
session_start
();
}
// Check if the user has already clicked the button in this session
if
(
isset
(
$_SESSION
[
'downloaded_resources'
])
&&
in_array
(
$resource_id
,
$_SESSION
[
'downloaded_resources'
]))
{
wp_send_json_success
([
'message'
=>
'Already counted'
]);
}
// Increment the download count
$current_count
=
(
int
)
get_post_meta
(
$resource_id
,
'download_count'
,
true
);
$new_count
=
$current_count
+
1
;
update_post_meta
(
$resource_id
,
'download_count'
,
$new_count
);
// Store the resource ID in the session to prevent multiple counts
$_SESSION
[
'downloaded_resources'
][]
=
$resource_id
;
wp_send_json_success
([
'new_count'
=>
$new_count
]);
}
\ No newline at end of file
includes/enqueuer.php
View file @
a7b7c6a8
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment