Products
GG网络技术分享 2025-03-18 16:13 0
分享一款仿简书WordPress响应式博客主题,首页AJAX无限加载,支持retina屏幕,用心重新设计的评论区,非常简洁适合文字控使用。
仿简书WordPress响应式博客主题
使用说明:
演示地址:DEMO | 主题下载:仿简书WordPress响应式博客主题
了解更多下载
有一个主题需要在文章页面提交Ajax请求,并在当前页面进行服务端处理,按照常规方法编写代码,结果总是返回404错误。
WordPress主题或插件Ajax请求的正确姿势是:通过admin-ajax.php页面提交。
服务端处理:
如果是主题开发,在functions.php中添加以下代码:
function funcname() {//服务端处理}add_action(\\\'wp_ajax_funcname\\\', \\\'funcname\\\'); //已登录用户add_action( \\\'wp_ajax_nopriv_funcnamer\\\', \\\'funcname\\\' ); //未登录用户
注意funcname为处理函数的名称,可以自定义。hook有两个,一个用于已登录用户,另一个用于未登录用户,两个钩子可以对应不同的函数,以便对不同用户作出不一样的处理,这里的示例对不同用户都作同样的处理。
需要特别注意钩子的名称为:
wp_ajax_处理函数的名称
未登录用户钩子的名称为:
wp_ajax_nopriv_处理函数的名称
前端脚本:
前端代码中的POST URL填写:
<?php echo admin_url(\\\"admin-ajax.php\\\"); ?>
前端示例代码:
$.ajax({cache: false,type: \\\'POST\\\',dataType: \\\'json\\\',url: \\\'<?php echo admin_url(\\\"admin-ajax.php\\\"); ?>\\\',data: $(\\\'form\\\').serialize(),async: true,success: function (data) {if (data.status == \\\'success\\\') {} else {}},error: function(e){console.log(e.status + \\\':\\\' + e.statusText);}});
服务端示例代码:
function my_func() {$name = $_POST[\\\'name\\\'];die(json_encode(array(\\\'status\\\' => \\\'success\\\', \\\'info\\\' => $name)));}add_action(\\\'wp_ajax_my_func\\\', \\\'my_func\\\');add_action( \\\'wp_ajax_nopriv_my_func\\\', \\\'my_func\\\' );
Demand feedback