如何在 WordPress 中调用 href 上的 PHP 函数?

2024-04-28

我有以下功能。我想在用户单击超链接(取消激活我的帐户)时调用此函数。在 href 点击上调用函数的最佳方式是什么?谢谢

function deleteUserMeta($userID) {
    delete_usermeta($userID, 'subscription_id');
    delete_usermeta($userID, 'ref_id');
    delete_usermeta($userID, 'users_name');
    delete_usermeta($userID, 'trans_key');
}

正如 Thorben 提到的,您无法在浏览器事件上执行 PHP 函数,因为该语言是服务器端而不是客户端。然而,有几种方法可以解决这个问题:

1. 服务器端(PHP)

您不能在浏览器事件(例如链接单击)上调用 PHP 函数,但您可以can当您单击超链接时,在加载的页面上首先将其称为“next.php”。为此,请调用您的函数deleteUserMeta()有条件地位于“next.php”的最顶部。问题是您需要将一些变量传递到此页面,以便您可以检查条件并执行该函数。使用 GET 通过超链接传递变量,如下所示:

<a href="next.php?unsubscribe=true&userID=343">Unsubscribe</a>

如何传递 userId 由您决定。在上面的示例中,它是硬编码的,但您也可以使用 PHP 来设置它,如下所示:

<a href="next.php?unsubscribe=true&userID=<?php echo $userID;?>">Unsubscribe</a>

现在在“next.php”上,使用条件来评估该变量:

<?php
if($_REQUEST['unsubscribe'] == 'true'){
    deleteUserMeta($_REQUEST['userID']);
}
?>

2. 客户端(AJAX)

执行此操作的另一种方法是使用 AJAX 在客户端执行此操作。如果您不熟悉 Javascript/jQuery/AJAX,我可能会坚持使用其他解决方案,因为它可能更容易实现。如果您已经在使用 jQuery,那么这应该不会太难。使用 jQuery,您可以将此函数绑定到超链接的实际单击事件。这样,整个操作就可以在不刷新页面的情况下进行:

<a href="#" onclick="ajaxDeleteUserMeta()">Unsubscribe/a>

现在你需要两件事: 1. 第一个解决方案所需的相同 PHP 文件“next.php”仅包含对您的函数的调用,deleteUserMeta($userId)2. 一个名为的 JavaScript 函数ajaxDeleteUserMeta(),所以在你的 JS 中创建一个这样的:(因为这是一个命名函数,所以不需要进入内部jQuery(document).ready(function(){});就像大多数匿名 jQuery 函数一样。)

function ajaxDeleteUserMeta(){

var userID = ''; // fill this in to somehow acquire the userID client-side...

jQuery.ajax({
   type: "POST",
   url: "next.php", /* this will make an ajax request to next.php, which contains the call to your original delete function. Essentially, this ajax call will hit your original server-side function from the client-side.*/
   data: "userID="+userID+"&unsubscribe=true", /*here you can pass a POST variable to next.php that will be interpreted by the conditional function.*/
   success: function(msg){
     alert( "Data Saved: User ID " + userID + " deleted." );
   }

});

}

啰嗦了,但我希望其中有些道理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WordPress 中调用 href 上的 PHP 函数? 的相关文章

随机推荐

  • 命名 Docker 卷以共享构建而不更新

    我工作的公司的开发人员要求我用 Docker 做一些不同的事情 然后我也被使用了 目标是拥有 2 个具有以下职责的容器 容器A 节点容器将构建前端 React 应用程序并将捆绑包放入名为的目录中app dist 完成后 容器将停止运行 容器
  • 在 Python 中通过 TCP 套接字发送文件

    我已经成功地将文件内容 图像 复制到新文件 然而 当我通过 TCP 套接字尝试同样的事情时 我遇到了问题 服务器循环未退出 客户端循环在到达 EOF 时退出 但服务器无法识别 EOF 这是代码 Server import socket Im
  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • 无法启动 Android Studio 模拟器

    我正在使用 Android Studio 这是 Android 的新官方 IDE 我永远无法让模拟器运行 出现一个黑色的模拟器屏幕 其中包含闪烁的 android 一词 并且几分钟内没有任何变化 我已经等了30多分钟了 没有任何变化 我必须
  • 在元素的单击事件上添加类

    我是 Angular Js 的新手 我需要在元素的单击事件上添加一个类 我尝试了以下代码 但它不起作用 div p data na p div
  • 在 SQLite.swift 中找不到 SQLite/SQLite-Bridging.h

    我正在使用 SQLite swit https github com stephencelis SQLite swift https github com stephencelis SQLite swift 来开发应用程序 我按照 Pod
  • HTML 解析和删除锚标记,同时使用 Jsoup 保留内部 html

    我必须解析一些html并删除锚标记 但我需要保留锚标记的innerHTML 例如 如果我的 html 文本是 String html div p some text a href some link text a p div 现在我可以解析
  • 对“组件”类型的引用声明它是在“系统”中定义的

    尝试在 UWP 应用程序中获取一些 WMI 对象 在 net 4 6 上运行 VS2015 我收到 ForEach 和方法调用错误 指出 引用类型 组件 声明它是在 系统 中定义的 错误为 CS7069 using System using
  • 导入 pygame.font 失败

    import pygame对我来说效果很好 但是import pygame font失败并出现错误 ImportError dlopen Library Frameworks Python framework Versions 2 7 li
  • 如何使用 VS2010 在开发服务器上测试将 ASP.NET Web 应用程序作为 64 位进程运行?

    我的任务很简单 我需要在我的开发计算机上的 64 位环境中测试我的 ASP NET Web 应用程序 此时 我什至不询问如何通过调试器运行它 我所需要的只是在 64 位进程中运行它 因此 我在 Visual Studio 2010 中创建了
  • CSS 100% 高度布局

    我知道这是一个常见问题 我查找了一些解决方案 但找不到我想要的东西 我想转换this http pastehtml com view av6fb8bir html到无表布局 注意 页眉和页脚必须设置为固定高度 以像素为单位 50px 即可
  • mysql非空字段计数

    我想计算 mysql 中特定字段集有多少字段为空 我找到了一些示例 但它们都遍历整个表 基本上我有8个字段 listing photo 1 到listing photo 8 我想知道其中有多少个被填充 I tried result mysq
  • 哪些 .NET 依赖注入框架值得研究? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 不均匀圆盘的最佳覆盖

    What kind of algorithm can I use to search for an optimal minimum area covering of a limited region of the XY plane with
  • 嵌入式剃须刀视图

    最近 我读到一篇post http www chrisvandesteeg nl 2010 11 22 embedding pre compiled razor views in your dll 作者在其中描述了如何将 razor 视图编
  • Terraform如何在路由表中获取动态路由

    Terraform如何根据工作空间在路由表中获取动态路由 UAT resource aws vpn gateway micorsoft vpn gw vpc id aws vpc default id tags Name micorsoft
  • Vaadin - GWT 错误“模块 xxx 可能需要重新编译

    我正在加大 Vaadin 的力度 每当我尝试运行演示应用程序时 都会收到此 javascript 警报 GWT module com vaadin terminal gwt DefaultWidgetSet may need to be r
  • linux命令行:如何简单地将任意字符串输入管道?

    我正在寻找一个非常简单的技巧 假设文件中error txt 有一个很长的字符串 errorMessage key1 some message key2 message 2 由于它的格式不适合读者 如果我想在终端中以格式良好的形式查看它 我可
  • 如何在 WordPress 中调用 href 上的 PHP 函数?

    我有以下功能 我想在用户单击超链接 取消激活我的帐户 时调用此函数 在 href 点击上调用函数的最佳方式是什么 谢谢 function deleteUserMeta userID delete usermeta userID subscr