使用 ajax 和 onclick jquery 调用点击计数 php 函数
call click count php function using ajax and onclick jquery
我正在使用此函数计算 wordpress 中的下载点击次数。
Function.php
function setdownViews($postID) {
$dcount_key = 'post_download_count';
$dcount = get_post_meta($postID, $dcount_key, true);
if($dcount==''){
$dcount = 0;
delete_post_meta($postID, $dcount_key);
add_post_meta($postID, $dcount_key, '0');
}else{
$dcount++;
update_post_meta($postID, $dcount_key, $dcount);
}
}
点击下载后调用此函数的 jequery 代码 link。
$(document).on('click', "#click-count", function () {
<?php setdownViews(get_the_ID());?>
});
但不工作 post_download_count 的元值未更新。
我知道我应该使用 ajax 和 jquery 来调用此函数,但不知道如何调用。
最好的问候。
我们不能这样调用php函数,尝试使用ajax。
试试这个
例如:
index.php 页
$(document).ready(function(){
$(document).on('click', "#click-count", function () {
var val = "Hi";
$.ajax ({
url: "ajax.php",
data: { val : val },
success: function( result ) {
alert("Hi, testing");
alert( result );
}
});
});
});
将新文件名添加为 ajax.php 页面并将以下代码放入其中
<?php
echo ( $_GET['val'] );?>
你不能像这样在 javascript 中调用 php 函数。 php做的是生成html(包括你的js),然后js会在浏览器中执行。
您必须将增加下载次数的代码(setdownViews 函数中的代码)移动到单独的页面。当您在浏览器中打开该页面时,如果下载次数增加,则表明它正在运行。之后,使用 js(jquery 在你的情况下)调用该页面。
如果新页面名称为 set-downloads-view.php,是否可以调用类似 set-downloads-view.php?id=1 的名称。然后通过$_GET['id']
获取php中的id
代码如下:
设置-下载-view.php:
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
$postID = $_GET['id'];
$dcount_key = 'post_download_count';
$dcount = get_post_meta($postID, $dcount_key, true);
if($dcount==''){
$dcount = 0;
delete_post_meta($postID, $dcount_key);
add_post_meta($postID, $dcount_key, '0');
}else{
$dcount++;
update_post_meta($postID, $dcount_key, $dcount);
}
javascript
$(document).on('click', "#click-count", function () {
$.ajax ({
url: "set-downloads-view.php?id=<?php get_the_ID();?>"),
data: null,
success: function( result ) {
// it\'s done, show something to the user
}
});
});
很抱歉,我已经很长时间没有使用 wordpress 了,但你明白了。这不是最好的解决方案,但应该可行。
我正在使用此函数计算 wordpress 中的下载点击次数。
Function.php
function setdownViews($postID) {
$dcount_key = 'post_download_count';
$dcount = get_post_meta($postID, $dcount_key, true);
if($dcount==''){
$dcount = 0;
delete_post_meta($postID, $dcount_key);
add_post_meta($postID, $dcount_key, '0');
}else{
$dcount++;
update_post_meta($postID, $dcount_key, $dcount);
}
}
点击下载后调用此函数的 jequery 代码 link。
$(document).on('click', "#click-count", function () {
<?php setdownViews(get_the_ID());?>
});
但不工作 post_download_count 的元值未更新。
我知道我应该使用 ajax 和 jquery 来调用此函数,但不知道如何调用。
最好的问候。
我们不能这样调用php函数,尝试使用ajax。
试试这个
例如:
index.php 页
$(document).ready(function(){
$(document).on('click', "#click-count", function () {
var val = "Hi";
$.ajax ({
url: "ajax.php",
data: { val : val },
success: function( result ) {
alert("Hi, testing");
alert( result );
}
});
});
});
将新文件名添加为 ajax.php 页面并将以下代码放入其中
<?php
echo ( $_GET['val'] );?>
你不能像这样在 javascript 中调用 php 函数。 php做的是生成html(包括你的js),然后js会在浏览器中执行。
您必须将增加下载次数的代码(setdownViews 函数中的代码)移动到单独的页面。当您在浏览器中打开该页面时,如果下载次数增加,则表明它正在运行。之后,使用 js(jquery 在你的情况下)调用该页面。
如果新页面名称为 set-downloads-view.php,是否可以调用类似 set-downloads-view.php?id=1 的名称。然后通过$_GET['id']
获取php中的id代码如下:
设置-下载-view.php:
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
$postID = $_GET['id'];
$dcount_key = 'post_download_count';
$dcount = get_post_meta($postID, $dcount_key, true);
if($dcount==''){
$dcount = 0;
delete_post_meta($postID, $dcount_key);
add_post_meta($postID, $dcount_key, '0');
}else{
$dcount++;
update_post_meta($postID, $dcount_key, $dcount);
}
javascript
$(document).on('click', "#click-count", function () {
$.ajax ({
url: "set-downloads-view.php?id=<?php get_the_ID();?>"),
data: null,
success: function( result ) {
// it\'s done, show something to the user
}
});
});
很抱歉,我已经很长时间没有使用 wordpress 了,但你明白了。这不是最好的解决方案,但应该可行。