繁体   English   中英

使用ajax和onclick调用call click count 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代码即可调用此函数。

$(document).on('click', "#click-count", function () {
    <?php setdownViews(get_the_ID());?>
});  

但无效,并且post_download_count的元值未更新。 我知道我应该使用ajax和jquery来调用此函数,但不知道如何。
最好的祝福。

我们不能像这样调用php函数,请尝试使用ajax。 试试这个Eg:
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

这是代码:

set-downloads-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了,但是您明白了。 这不是最好的解决方案,但它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM