首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Ajax从帖子外部update_post_meta外部帖子?

使用Ajax从帖子外部更新帖子的元数据(update_post_meta)可以通过以下步骤实现:

  1. 在前端页面中,使用JavaScript编写一个Ajax请求函数,用于向后端发送更新请求。可以使用原生的XMLHttpRequest对象或者使用现代的fetch API来发送请求。
  2. 在Ajax请求函数中,指定请求的URL为后端处理更新请求的接口。该接口可以是自定义的WordPress插件或者主题中的PHP文件。
  3. 在后端接口中,接收Ajax请求,并解析请求中的参数。参数中应包含要更新的帖子ID和要更新的元数据键值对。
  4. 使用WordPress提供的函数(update_post_meta)来更新帖子的元数据。该函数接受三个参数:帖子ID、元数据键和元数据值。
  5. 更新完成后,返回一个响应给前端,可以是一个成功或失败的消息。

以下是一个示例的前端代码:

代码语言:txt
复制
function updatePostMeta(postId, metaKey, metaValue) {
  // 创建一个XMLHttpRequest对象
  var xhr = new XMLHttpRequest();

  // 指定请求的URL和请求方法
  xhr.open('POST', 'your-backend-api-url', true);

  // 设置请求头,告诉后端发送的是Ajax请求
  xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

  // 设置请求完成后的回调函数
  xhr.onload = function() {
    if (xhr.status === 200) {
      // 请求成功,可以在这里处理返回的响应
      console.log(xhr.responseText);
    } else {
      // 请求失败,可以在这里处理错误
      console.error(xhr.statusText);
    }
  };

  // 发送请求
  xhr.send(JSON.stringify({
    postId: postId,
    metaKey: metaKey,
    metaValue: metaValue
  }));
}

在上述代码中,需要将'your-backend-api-url'替换为实际的后端接口URL。

以下是一个示例的后端代码(使用WordPress插件方式):

代码语言:txt
复制
<?php
// 在插件文件中注册一个Ajax接口
add_action('wp_ajax_update_post_meta', 'update_post_meta_callback');
add_action('wp_ajax_nopriv_update_post_meta', 'update_post_meta_callback');

function update_post_meta_callback() {
  // 解析Ajax请求中的参数
  $post_id = $_POST['postId'];
  $meta_key = $_POST['metaKey'];
  $meta_value = $_POST['metaValue'];

  // 更新帖子的元数据
  update_post_meta($post_id, $meta_key, $meta_value);

  // 返回一个响应给前端
  echo 'Post meta updated successfully';

  // 终止脚本执行
  wp_die();
}

在上述代码中,'update_post_meta'是自定义的接口名称,可以根据实际需求进行修改。

这样,当调用updatePostMeta函数时,会向后端发送一个Ajax请求,后端接收到请求后会更新对应帖子的元数据,并返回一个响应给前端。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用 Redis 实现大规模的帖子浏览计数

img 本文我们就来聊一聊,Reddit 是如何在大规模下统计帖子浏览量的。 统计方法 我们对统计浏览量有四个基本的要求 计数必须达到实时或者接近实时。 每个用户在一个时间窗口内仅被记录一次。...帖子显示的统计数量的误差不能超过百分之几。 整个系统必须能在生成环境下,数秒内完成阅读计数的处理。 满足上面四个条件,其实比想象中要复杂。...为了更好的理解基于HLL的计算方法,究竟能够节省多少内存,我们这里使用一个例子。...stream-lib代码的文档化做的很好,但我们对如何适当调优它,还是有些困惑的。...Redis的HLL实现(我们最终的选择),我们觉得Redis的实现不管文档完善程度还是配置和提供的API接口,来说做的都非常好。另外的加分点是,使用Redis可以减少我们对CPU和内存性能的担忧。

2.1K40
  • 如何使用Sentry管理Hive外部表(补充)

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.文档编写目的 ---- 本文文档主要讲述如何使用Sentry管理Hive/Impala外部表权限。...2.创建测试库及外部表 ---- 使用hive用户登录Kerberos,并通过beeline登录HiveServer2 创建fayson数据库 0: jdbc:hive2://localhost:10000...,通过Sentry授权后,fayson用户组使用beeline和Hue能对该表进行查询和插入操作。...5.测试总结 ---- 如果这个外部表的目录没有在cm里配置成需要sentry管理的目录,通过Sentry赋权后,是没法做ACL同步的,不建议在生产系统中这样使用。...如果你需要管理外部表,那么你就需要按照之前的标准文档来操作。如何使用Sentry管理Hive外部表权限 醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!

    1.3K40

    如何使用Sentry管理Hive外部表权限

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。...1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry...4.采用具有sudo权限的ec2-user用户进行操作 2.前置准备 2.1创建外部表数据父目录 1.使用hive用户登录Kerberos [root@ip-172-31-8-141 1874-hive-HIVESERVER2...3.创建Hive外部表 1.使用beeline命令行连接hive,创建Hive外部表 建表语句: create external table if not exists student(...7.Sentry管理Hive外部表权限总结 开启外部表的数据父目录ACL同步后,不需要单独的维护外部表数据目录权限。

    5.3K91

    Java 匿名内部类中如何使用外部成员

    但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。...现象描述 在 Java 8 之前,匿名内部类在使用外部成员的时候,会报错并提示 “Cannot refer to a non-final variable arg inside an inner class...相比之下,Kotlin 是没有这个限制的: 原因分析 表面上当然看不出什么原因,看看编译器做了什么工作吧!...因此,基本数据类型的变量当然不能修改了,不然就会跟外部的变量产生不一致,这样的话变量的传递也就变得毫无意义了。...System.out.println(var4); } 可以发现,当需要传递基本数据类型的变量时,Kotlin 编译器会将这些数据进行包装,从而由值传递变为引用传递,这样内部的修改当然就不会影响到外部

    83520

    优化WordPress性能的高级指南

    获取帖子(Fetching Posts) WordPress提供数据库中获取任何类型的帖子(post)的方法。...这可能会导致不一致,特别是如果我们在代码中使用查询相关的过滤器,因为你在页面中不期望的帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是数据库中检索帖子的最佳方式。...基本上,我数据库引擎中脱掉了一些工作,而是将其转移到PHP引擎,功能和在数据中处理的相同但在内存中,因此更快。 如何做的? 首选,我在查询中删除了post__not_in参数。...update_post_meta( $post_id, 'is_breaking_news', !...例如,如果我们在我们的分布式服务器中托管我们的站点,我们应该使用外部缓存系统(如Memcached服务器),但是如果我们的网站驻留在单个服务器上,那么我们可以通过简单的使用文件系统实现缓存从而来节省一些钱

    7.1K20

    实战 | 如何使用微搭低代码平台外部数据源

    日常开发中我们经常使用低码平台自建数据源,我们可以定义自己需要的数据字段。但是随着应用开发的深入,有时候也避免不了要调用第三方提供的接口服务,我们今天就带着大家使用一下低码平台的外部数据源。...创建外部数据源 登录低码的控制台在数据源管理菜单中点击【新建数据源】,在下拉选项中我们选择外部数据源: 我们输入数据源名称和数据源标识,点击【确定】按钮 定义方法 在打开的页面中点击【编辑】按钮进入数据源的编辑页面...通过http的形式会将接口的数据原样返回,但是返回的结果层次太深不利于我们的使用,我们利用第二种接口调用方式改造一下返回的接口。...我们在数据源里点击【新增自定义方法】按钮 方法类型选择云函数 在编辑器中输入如下代码: /** * 使用 npm 包 request 发送http请求, 详细使用文档可以参考 * https://...code < 300; } module.exports = function (params, context) { // params 即为入参定义的结构, 可以在 request 的请求配置中使用

    1.1K10

    如何使用Attack-Surface-Framework发现内部或外部网络攻击面

    关于Attack-Surface-Framework Attack-Surface-Framework(简称ASF)是一款功能强大的安全检测工具,可以帮助广大研究人员发现组织或企业网络系统的内部和外部攻击面...ASF是一个开源项目,它利用了一个非常强大的工具库,并使用了图形化用户界面进行功能封装,ASF的系统架构图如下: 工具要求 · 最新版本的Kali Linux x64系统; · 至少16GB RAM...· 1TB HD(建议使用XFS文件系统) 工具构建&运行 首先,我们需要以root权限运行命令行终端,然后使用下列命令将该项目源码克隆至本地: git clone https://github.com.../ . bin/activate python3 manage.py runserver 0.0.0.0:8080 安全扫描 假设你现在在云端或者在本地实例上安装了ASF,我们建议用户通过SSH并使用端口转发来访问...127.0.0.1:8080 Graylog2(默认用户名和密码均为admin,可以在/graylog/docker-compose.yaml中修改): https://127.0.0.1:904 工具使用截图

    68720

    使用express框架,如何在ejs文件中导入外部的js、css文件

    使用ejs模版的过程中遇到了这个问题:如何在ejs模版中导入外部的js、css文件。 我猜测,ejs和html导入外部文件的方式应该是不一样的。但是我还是决定试一试。...那该如何导入呢? 这是我的文件结构: ? 我现在需要在index.ejs文件中导入public文件夹下的table.css以及table.js两个文件。...大家应该都知道,在使用express框架时,在安装了express模块之后,在该项目下的命令行输入express -e 就会自动生成相应的文件目录。...那把包括了js、css以及图片的静态文件放到public文件夹下又该怎么使用呢? 看图: ?...__dirname + '/public')); 关于app.use()这个方法具体的介绍,这里有篇文章,写的很好app.use(express.static)方法详解 这样,就可以在ejs文件中导入外部静态文件了

    6.4K00

    如何使用icebreaker在外部环境中获取活动目录明文凭证

    除此之外,我们还可以使用--auto选项来以自动化的形式获取域管理员权限。  ...工具运行机制  1、反向爆破:自动获取用户名列表,并使用两个最常用的活动目录密码测试每个用户名(两次以上的尝试可能会触发帐户锁定策略); 2、上传网络共享:通过将恶意文件上传到可用网络共享来捕获用户的密码...;  工具安装  广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/DanMcInerney/icebreaker.git (向右滑动...(向右滑动,查看更多) 主机列表中读取,告诉Responder使用eth0接口而不是默认网关接口,让Responder运行30m而不是通常的10m,并运行默认的ntlmrelayx命令以将SAM转储到目标服务器.../icebreaker -l targets.txt -i eth0 -t 30 -c default (向右滑动,查看更多) 使用一个Nmap XML输出文件,跳过所有五次攻击,并为反向爆破使用自定义密码列表

    43210

    如何使用 Java lambda 语法和外部规则引擎开发定制应用程序

    在本文中,我们试图说明如何利用 Java 的固有特性,用尽可能简单的方式实现外部化规则,而不局限于附加框架的任何传递依赖。...为外部源(例如文件或 URL)加载的规则提供一个简单的基于声明式模型的 POJO,这些规则是代表一个谓语或者一个等同于 lambda 表达式的 Java 代码片段。...入门指南 虽然传统来说,在开始使用 SDK 之前我们最好先了解一下它的结构,但为了方便和简单,我们颠倒了顺序。在本节中,我们将通过简单的问题陈述或用例来说明规则是如何外部化的。...因此,规则可以文件系统、URL、云存储、数据库等地方加载。 5. 本地文件加载原始规则。这个方法getConfigStream()返回一个 java.io.inputStream。...它提供了任何地方加载原始字节的灵活性。 我们将简短说明如何几个主要的和常用的源代码加载规则。 一些通用源代码的实现 在本节中,我们将探讨一些常见的而且重要的可以加载配置的源文件。

    65820

    Power Query 系列 (20) - 如何外部使用Power Query提供的服务

    Power Pivot 的数据模型编程接口 貌似 PQ 没有对外的编程接口,但是 Power Pivot 有通过 Excel 工作簿的编程接口,所以我们可以将数据加载到 Power Pivot, 然后在外部调用...text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N0b25lMDgyMw==,size_16,color_FFFFFF,t_70] 接下来,以之前文章讲解的 PQ 实现的进出存查询为例,进一步讲解如何通过...然后对数据据模型进行刷新操作,确保获取的是最新计算的结果 将 Data Model 的计算结果写入 RecordSet 对象,再将 RecordSet 对象数据写入当前工作簿的 Sheet1 (函数的功能) 理论上来说...Power Query SDK 微软提供了 Power Query SDK,从而赋予了在 .net 平台中可以直接使用 M 语言的功能。...Power Query SDK的 PowerQueryNet 开源项目 Power Query SDK 是一扩展名为 vsix 的文件,在 Visual Studio 中安装的方法请参考:vs2015如何安装

    2.5K70

    如何在FreeBSD 10.1上使用Sendmail通过外部SMTP服务发送电子邮件

    使用外部服务将帮助您避免陷阱,例如您的服务器IP被反垃圾邮件服务列入黑名单。 在本教程中,我们将讨论如何将FreeBSD的内置Sendmail服务连接到SendGrid以服务器发送电子邮件。...目标 在本教程中,我们将: 使用SASL支持重新编译Sendmail,以便服务器可以使用外部服务进行身份验证 使用适当的设置配置Sendmail邮件服务器 测试出站电子邮件以确保邮件您的服务器发出 准备...首先,我们需要重新编译Sendmail,以便它可以使用外部邮件服务进行身份验证 - 在本例中为SendGrid。...这用于使用外部邮件服务进行身份验证。 portmaster security/cyrus-sasl2 出现提示时,确保选中了LOGIN,默认情况下应该这样。...如果您选择使用其他外部邮件提供程序,则还需要将两行的smtp.sendgrid.net值更改为提供程序的服务器地址。

    3.1K00
    领券