当前位置: 首页 > news >正文

wordpress网站Ajax留言评论+自定义评论字段

前端代码,下面的电话,公司,为自定义字段。

<form method="post" id="commentform" class="comment-form shansubmit" ><lable>用户</lable><input id="author" type="text" name="comment_author"       value=""/> <br><lable>邮箱</lable><input id="email" type="text"  name="comment_author_email" value=""/> <br><lable>电话</lable><input id="phone" type="text"  name="comment_author_phone" value=""/> <br><lable>公司</lable><input id="company" type="text"  name="comment_author_company" value=""/> <br><lable>内容</lable><textarea id="comment" name="comment" required="required"><?echo $message;?></textarea> <br><lable>url </lable><input id="url" name="comment_author_url" value="<? echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ?>"><br><lable>ID</lable><input  name="comment_post_ID" value="<? echo get_the_ID() ?>" id="comment_post_ID">  <br><lable>IP</lable><input  name="comment_author_IP" value="<? echo $_SERVER['REMOTE_ADDR']; ?>" id="comment_author_IP">  <br><input name="submit" type="submit" id="submit" class="shansubmit" value="发表评论">
</form>

js代码

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/style/js/jquery-3.4.1.min.js"></script>
<script> var ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>'; </script>
<script type="text/javascript">
jQuery(document).ready(function($) {$('#commentform').on('submit', function(e) {e.preventDefault();var commentData = $(this).serialize(); // 获取评论表单数据// 发送Ajax请求$.ajax({type: 'POST',url: ajax_url, // 后端处理Ajax的URL,需要在wp_localize_script中定义data: {action: 'submit_custom_comment',comment_data: commentData,},success: function(response) {// 处理成功响应console.log(response);}});});
});
</script>

function.php代码

添加Ajax处理函数

// 添加Ajax处理函数
function submit_custom_comment() {if (isset($_POST['comment_data'])) {parse_str($_POST['comment_data'], $commentData); // 解析评论数据// 构建评论数据数组$comment_args = array('comment_post_ID'      => $commentData['comment_post_ID'],'comment_author_url'   => $commentData['comment_author_url'],'comment_author'       => $commentData['comment_author'],'comment_author_email' => $commentData['comment_author_email'],'comment_content'      => $commentData['comment'],'comment_type'         => 'comment','comment_meta'         => array('phone'            => $commentData['comment_author_phone'], // 将自定义字段添加到评论元数据中'company'          => $commentData['comment_author_company'], // 将自定义字段添加到评论元数据中));// 插入评论$comment_id = wp_insert_comment($comment_args);if ($comment_id) {echo '提交成功';} else {echo '提交失败';}}die(); // 必须终止脚本
}
add_action('wp_ajax_submit_custom_comment', 'submit_custom_comment'); // 钩子 - 处理登录用户的请求
add_action('wp_ajax_nopriv_submit_custom_comment', 'submit_custom_comment'); // 钩子 - 处理非登录用户的请求

添加后台评论处显示自定义字段代码

add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 3 );function my_comments_columns( $columns ){$columns[ 'phone' ] = __( '电话' ); $columns[ 'company' ] = __( '公司' );  return $columns;
}function output_my_comments_columns( $column_name, $comment_id ){switch( $column_name ) {case "phone" :echo get_comment_meta( $comment_id, 'phone', true );break;case "company" :echo get_comment_meta( $comment_id, 'company', true );break;}
}

相关文章:

wordpress网站Ajax留言评论+自定义评论字段

前端代码&#xff0c;下面的电话&#xff0c;公司&#xff0c;为自定义字段。 <form method"post" id"commentform" class"comment-form shansubmit" ><lable>用户</lable><input id"author" type"text&qu…...

AJAX-笔记(持续更新中)

文章目录 Day1 Ajax入门1.AJAX概念和axios的使用2. 认识URL3.URL的查询参数4.常用的请求方法和数据提交5.HTTP协议-报文6.接口文档7.form-serialize插件8.案例用户登录 Day2 Ajax综合案bootstrap弹框图书管理图片上传更换背景个人信息设置 Day3 AJAX原理XMLHttpRequestPromise封…...

模板复用和文章详情页(Go搭建qiucode.cn 之七)

模板复用其实就是动态内容驱动着部分变化的区域,公共区域是整个网站页面都在共用的内容,这便是模板复用的妙处。 模板复用 作为服务端编程语言的Golang,在web模板渲染引擎上当然也不逊色于其他同类型的服务端语言,它同样也有属于自己的那一套模板渲染引擎。 更为确切的叫…...

Android 使用SQLite的案例详解

1、说明 sqlite是个轻量级的数据库,可用于嵌入式。有时候做本地的web开发的时候,我会把sqlite作为内置数据库,这样便于部署,直接启动应用即可。 这里主要是将android中的使用过程记录一下。主要包含,数据如何初始化,在不同的activity中如何使用,以及增删改查的实现。 …...

linux 命令--查看网络端口命令

使用 netstat 检查端口 netstat 是一个命令行工具&#xff0c;可以提供有关网络连接的信息。 netstat - atulnp会显示所有端口和所有对应的程序&#xff0c;用grep管道可以过滤出想要的字段 -a &#xff1a;all&#xff0c;表示列出所有的连接&#xff0c;服务监听&#xff…...

python一个请求chatgpt3.5模型例子

当然可以&#xff01;你可以使用OpenAI的 openai.ChatCompletion.create() 方法来请求 ChatGPT 3.5 模型的回复。以下是一个使用Python进行请求的示例代码&#xff1a; python import openai# 设置OpenAI API的访问密钥 openai.api_key YOUR_API_KEY# 发送请求给ChatGPT模型 …...

数据结构:栈的实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…...

v-md-editor自定义锚点(生成目录)数组转树结构

接前两篇博文&#xff0c;最终方案终于定了&#xff0c;也把之前做的编辑器模式给否决了&#xff0c;原因是系统中有老的文档需要平替&#xff0c;因此就不能通过编辑器这种模式了&#xff0c;太麻烦了。 最终方案&#xff1a;线下手动pandoc word转markdown&#xff0c;然后将…...

java 11 新特效解读(2)

目录 全新的HTTP 客户端API 更简化的编译运行程序 废弃Nashorn引擎 ZGC 优势&#xff1a; ZGC的设计目标是&#xff1a; 在当前JDK中看不到什么&#xff1f; 一个标准化和轻量级的JSON API 新的货币API 展望 全新的HTTP 客户端API HTTP&#xff0c;用于传输网页的…...

linux patch 和 git patch

一、Linux patch 文件生成和应用 生成方式1&#xff1a;patch #多文件打 patch diff -uparN file1 file2 > xx.diff diff -uparN folder1 folder12 > xx.diff ------------------------------------------------------- diff --help -u 显示有差异行的前后几行(上下文)…...

【vue Dplayer】播放hls视频流

准备工作 安装Dplayer和hls.js npm install dplayer --save npm install hls.js --save准备测试流 hls测试地址&#xff1a;&#xff08;截止2023.08.08有效&#xff09; http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8 <template><d…...

给不蒜子(busuanzi)统计数据增加初始值

背景 最近把个人博客迁移到了Hexo框架&#xff0c;并使用了Butterfly主题&#xff0c;得益于博客框架的易用性和主题功能的丰富程度&#xff0c;感觉非常的香。我对比了很多Hexo主题&#xff0c;这一个算是在功能、审美、文档等各方面几乎完美符合我需求的。 Butterfly很贴心…...

WebStorm

WebStorm 介绍下载安装Activation 介绍 WebStorm是由JetBrains公司开发的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;主要专注于前端开发和Web开发。它旨在提供一套强大的工具和功能&#xff0c;以支持开发者在前端项目中编写、调试和维护代码。 JetBrains官网: …...

代码随想录算法训练营day59

文章目录 Day59 下一个更大元素II题目思路代码 接雨水题目思路代码 Day59 下一个更大元素II 503. 下一个更大元素 II - 力扣&#xff08;LeetCode&#xff09; 题目 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每…...

大模型训练时间估算

文章目录 开激活重计算不开激活重计算开激活重计算 GPU利用率一般在 0.3 - 0.55 之间,假定为0.45 4090 理论性能:FP16:82.58 TFLOPS 不开激活重计算 我们来说一下系数8或6是怎么来的: 对于每个模型参数,都进行2次浮点数计算,即计算Y = AB 时,先将元素按位相乘,再按位相…...

函数的模拟实现

题一&#xff1a; 模拟实现strncpy #include <stdio.h>void my_strncpy(char* arr2, char* arr1, size_t num){int i 0;for (i 0; i < num; i){*(arr2 i) *(arr1 i);}}int main(){char arr1[] "hello liangzai";char arr2[10] { 0 };//strncpy(ar…...

CSDN博客批量查询质量分https://yma16.inscode.cc/请求超时问题(设置postman超时时间)(接口提供者设置了nginx超时时间)

文章目录 查询链接问题请求超时原因解决谷歌浏览器超时问题办法&#xff08;失败了&#xff09;谷歌浏览器不支持设置请求超时时间&#xff08;谷歌浏览器到底有没限制请求超时&#xff1f;貌似没有限制&#xff1f;&#xff09;看能否脱离浏览器请求&#xff0c;我们查看关键代…...

什么是 CSRF 攻击?

概念 CSRF 攻击指的是跨站请求伪造攻击&#xff0c;攻击者诱导用户进入一个第三方网站&#xff0c;然后该网站向被攻击网站发送跨站请求。如果用户在被攻击网站中保存了登录状态&#xff0c;那么攻击者就可以利用这个登录状态&#xff0c;绕过后台的用户验证&#xff0c;冒充用…...

[内网渗透]CFS三层靶机渗透

文章目录 [内网渗透]CFS三层靶机渗透网络拓扑图靶机搭建Target10x01.nmap主机探活0x02.端口扫描0x03.ThinkPHP5 RCE漏洞拿shell0x04.上传msf后门(reverse_tcp)反向连接拿主机权限 内网渗透Target2&#xff08;1&#xff09;路由信息探测&#xff08;2&#xff09;msf代理配置&a…...

一百五十一、Kettle——Linux上安装的kettle8.2开启carte服务以及配置子服务器

一、目的 kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后&#xff0c;准备在Linux上启动kettle的carte服务 二、实施步骤 &#xff08;一&#xff09;carte服务文件路径 kettle的Linux运行的carte服务文件是carte.sh &#xff08;二…...

Phi-3.5-mini-instruct实操手册:Gradio WebUI源码结构与webui.py定制修改

Phi-3.5-mini-instruct实操手册&#xff1a;Gradio WebUI源码结构与webui.py定制修改 1. 项目概述 Phi-3.5-mini-instruct是微软推出的轻量级开源指令微调大模型&#xff0c;在长上下文代码理解&#xff08;RepoQA&#xff09;、多语言MMLU等基准测试中表现优异&#xff0c;显…...

SystemVerilog面试必考:手把手教你用constraint解决内存地址不重叠问题(附完整代码)

SystemVerilog面试实战&#xff1a;用constraint优雅解决内存地址冲突问题 最近在辅导几位准备数字电路验证面试的学员时&#xff0c;发现内存地址不重叠问题几乎成了必考题。这道题看似简单&#xff0c;却暗藏玄机——它不仅能考察候选人对SystemVerilog约束随机化的掌握程度&…...

深入理解DSP28335的PWM模块:如何用EPWM实现三相电机控制(附代码分析)

DSP28335 EPWM模块实战&#xff1a;三相电机SPWM控制全解析 在工业驱动和电力电子领域&#xff0c;精确的PWM信号生成是电机控制的核心技术。TI的DSP28335凭借其增强型PWM&#xff08;EPWM&#xff09;模块&#xff0c;为三相逆变器控制提供了硬件级的解决方案。本文将带您深入…...

Hypnos-i1-8B应用场景:智能编程助手支持Python/Julia/Matlab多语言

Hypnos-i1-8B应用场景&#xff1a;智能编程助手支持Python/Julia/Matlab多语言 1. 模型概述与核心能力 Hypnos-i1-8B是一款专注于复杂逻辑推理和科学计算的8B参数开源大模型&#xff0c;基于量子噪声注入训练技术开发。这款模型特别适合作为智能编程助手&#xff0c;能够理解…...

RVC模型浏览器插件开发构想:实现网页音频实时变声

RVC模型浏览器插件开发构想&#xff1a;实现网页音频实时变声 你有没有想过&#xff0c;在看直播、开在线会议&#xff0c;或者刷视频的时候&#xff0c;能一键把自己的声音变成另一个人的&#xff1f;比如&#xff0c;用你喜欢的歌手的声音唱歌&#xff0c;或者用某个角色的声…...

小体积霍尔微流量计RLL2518H国产替代瑞士迪格曼斯Digmesa流量传感器

在精密流体控制领域&#xff0c;超小流量的精准监测始终是咖啡机、净水器、智能卫浴、医疗仪器等设备的核心技术难点。长期以来&#xff0c;瑞士迪格曼斯&#xff08;Digmesa&#xff09;NanoDM60系列&#xff08;93N-6211&#xff09;凭借微型化结构与稳定性能&#xff0c;占据…...

模型黑盒的“翻译官”:LIME如何为单个预测提供局部可解释性

1. 当模型说"不"时&#xff0c;我们该如何理解&#xff1f; 想象一下这样的场景&#xff1a;一位贷款申请人收到银行的自动审批系统发来的拒绝通知&#xff0c;屏幕上冷冰冰地显示"申请未通过"。申请人满脸疑惑&#xff1a;"我信用记录良好&#xff0…...

从科研到报告:MATLAB bar函数实战避坑指南(颜色、标签、分类数据一篇搞定)

MATLAB条形图实战指南&#xff1a;避开颜色、标签与分类数据的那些坑 科研报告中的图表质量直接影响读者对数据的理解效率。作为MATLAB中最常用的可视化工具之一&#xff0c;bar函数看似简单&#xff0c;却暗藏诸多细节陷阱——从颜色配置失误到标签错位&#xff0c;从分类顺序…...

别再死记硬背了!用MySQL的`rand(0)`和`group by`亲手复现一次SQL报错注入

从零复现MySQL报错注入&#xff1a;用rand(0)和group by破解SQL防御机制 当你第一次听说SQL注入时&#xff0c;脑海中浮现的可能是黑客在电影里快速敲击键盘的画面。但现实中的SQL注入更像是一场精心设计的数学魔术——而今天&#xff0c;我们要揭秘的就是其中最精妙的"报…...

Space Cloud架构深度解析:GraphQL API与数据库查询优化终极指南

Space Cloud架构深度解析&#xff1a;GraphQL API与数据库查询优化终极指南 【免费下载链接】space-cloud Open source Firebase Heroku to develop, scale and secure serverless apps on Kubernetes 项目地址: https://gitcode.com/gh_mirrors/sp/space-cloud Space …...