学做网站培训课程介绍

当前位置:

WordPress通过admin-ajax.php传递值创建/存入文章字段

如何将网站前台的信息或者数据存入到网站后台指定的位置呢?常用的方法是直接写入数据库,然后在网站后台再读取数据库。如果你存入的数据比较少的话,使用这种方法就是高射炮打蚊子了。

对于强大的Wordpress程序来说,它提供了一个非常棒的文件就是admin-ajax.php,但实际使用比较少。我们可以通过admin-ajax.php来将网站前台的数据直接存入后台,并且是AJAX无刷新的方式,非常好用。

Wordpress通过admin-ajax.php传递值创建/存入文章字段

下面学做网站论坛讲一下Wordpress通过admin-ajax.php传递值创建/存入文章字段的思路。

首先是传递数据。前台传递数据,我们可以直接使用JQUERY点击事件来传递给admin-ajax.php;代码如下:


<a data-action="download" data-cansu="参数" data-id="<?php the_ID(); ?>" class="download" href="">提交按钮</a>

写好了点击事件后,就要有一个函数来接收这个点击传递的各个参数


<script type="text/javascript">
$(document).ready(function() {
//定义一个函数
$.fn.postdownload = function() {
//获取参数
var id = $(this).data("id"),//文章ID
cansu=$(this).data("cansu"),//参数值
action = $(this).data('action');//用于后期判断
//传递的参数
var ajax_data = {
action: "bigfa_download",//定义一下action名
um_id: id,
um_action: action
};
//POST给admin-ajax.php处理
$.post("<?php bloginfo('url');?>/wp-admin/admin-ajax.php", ajax_data,
function(data) {
});
return false;
};
//通过点击事件来传递参数
$(document).on("click", ".download",
function() {
$(this).postdownload();
});
});
</script>

admin-ajax.php接收到传来的参数后,就是处理这些参数。处理参数,WORDPRESS有二个函数来处理admin-ajax.php的参数。分别是wp_ajax_nopriv_action名和wp_ajax_action名

将以下的代码写入functions.php中;


add_action('wp_ajax_nopriv_bigfa_download', 'downloadss');//未登录用户的AJAX请求处理函数  downloadss为写入自定义字段的函数名
add_action('wp_ajax_bigfa_download', 'downloadss');//登录后所提交的AJAX处理函数

再后,就是将处理函数处理的参数写入到自定义字段中。

定义一个处理函数downloadss,用于写入数据;


function downloadss(){
global $wpdb,$post;
$id = $_POST["um_id"];
$cansu = $_POST["cansu"];
$action = $_POST["um_action"];
//判断是不是通过指定点击来的参数
if ( $action == 'download'){
//存入自定义字段download,如果没有这个字段,会自动创建
update_post_meta($id, 'download', $cansu);
}
die;
}

上面的代码也放在functions.php中,在上一步代码的下面即可。

这样前台通过点击传来的参数就被保存到某个自定义字段了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 默认情况下Wordpress后台只有文章和页面二种文章类型,如果我们建企业网站,所发布的产品与文章就会合在一起,不方便管理。怎么在wordpress后台菜单添
  • 我们安装WORDPRESS 插件时,插件需要加载用钩子挂载WordPress 自带的 jQuery库而非是通过硬编码的方式来加载,毕竟是为了避免多次加载 jQuery库。但在
  • wordpress默认情况下后台只支持mail函数方式设置发邮件,但是现在大多数虚拟主机是不支持mail函数的,因为会导致垃圾邮件的产生而服务器ip被大量列入
  • WordPress搜索页如果需要显示搜索结果的数量,一般是使用WordPress自带的函数$found_posts来显示。通常用法是:<?php echo $wp_query->found
  • 我们做网站时,如何将分类栏目里的置顶文章显示在最前面呢?然后再显示新发布的文章。怎么实现在调用最新文章列表中置顶文章靠前显示呢?代码如下:
  • WordPress网站后台上传了图片之后,每个图片都会有ID,我们在建网站时,可以通过图片ID来获取图片的路径。怎么通过图片附件的ID来获取图片的路径呢?
  • wordpress每增加一个分类目录,就会分配一个唯一的ID号。分类目录ID号相当于分类目录的身份证号,在网站制作过程中,我们需要经常使用到ID号。那么如
  • WordPress建好网站之后,往往由于服务器本身漏洞、网站后台使用弱密码登录等原因,造成网站被黑,植入了非正规的垃圾代码。造成网站跳转或者打不开。
  • 有时候,我们想用一个域名,做好几种语言的网站。在互联网领域内,一般说这类网站叫做,多语种网站。  WordPress网站也可以做成多语种的。本地网站
  • 使用WordPress做网站时,往往需要给网站设置伪静态规则。WordPress网站在不同服务器环境下的伪静态规则是不一样的。下面分享一下WordPress网站在Nginx