Wordpress - 使用媒体库获取图像

2023-11-24

我正在创建一个插件,并且有一个管理页面

在该页面的选项中,我想添加一个按钮,允许我打开 Wordpress 媒体库并从中选择图像,之后获取所选图像的 URL 和alt属性。

如果可以的话,我该如何使用 AJAX 来做到这一点?


首先,您需要将 WordPress 核心媒体脚本和自定义 js 脚本排入队列

function my_enqueue_media_lib_uploader() {

    //Core media script
    wp_enqueue_media();

    // Your custom js file
    wp_register_script( 'media-lib-uploader-js', plugins_url( 'media-lib-uploader.js' , __FILE__ ), array('jquery') );
    wp_enqueue_script( 'media-lib-uploader-js' );
}
add_action('admin_enqueue_scripts', 'my_enqueue_media_lib_uploader');

然后假设您的选项页面中有此标记:一个上传按钮和一个用于存储所选图像 URL 的文本输入

<form method="post">
    <input id="image-url" type="text" name="image" />
    <input id="upload-button" type="button" class="button" value="Upload Image" />
    <input type="submit" value="Submit" />
</form>

您需要添加此 JavaScript 代码来调用上传器弹出窗口

jQuery(document).ready(function($){

  var mediaUploader;

  $('#upload-button').click(function(e) {
    e.preventDefault();
    // If the uploader object has already been created, reopen the dialog
      if (mediaUploader) {
      mediaUploader.open();
      return;
    }
    // Extend the wp.media object
    mediaUploader = wp.media.frames.file_frame = wp.media({
      title: 'Choose Image',
      button: {
      text: 'Choose Image'
    }, multiple: false });

    // When a file is selected, grab the URL and set it as the text field's value
    mediaUploader.on('select', function() {
      attachment = mediaUploader.state().get('selection').first().toJSON();
      $('#image-url').val(attachment.url);
    });
    // Open the uploader dialog
    mediaUploader.open();
  });

});

选择图像后,您的图片地址输入现在将包含 url 并将保存在表单提交中。

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

Wordpress - 使用媒体库获取图像 的相关文章

  • 如何在 Laravel 5.5 中编辑“页面因不活动而已过期”的视图

    在 Laravel 5 5 中 当您使用 CSRF 保护 默认情况下 并且在长时间不活动后发送发布请求时 您将收到此错误页面 屏幕截图 我对此错误表示同意 但是 我需要更改此错误的视图 文本以确保与我的应用程序风格和语言相匹配 关于如何编辑
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • Ajax 加载并淡入

    我正在尝试使用 ajax 在 html 中加载淡入淡出 它加载但没有褪色 我不知道我做错了什么 这是我的代码 artworks click function load artworks page content load artworks
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • PHP 中的正则表达式:找到第一个匹配的字符串

    我想在非常长的文本中找到第一个匹配的字符串 我知道我可以使用 preg grep 并获取返回数组的第一个元素 但是 如果我只需要第一场比赛 或者我知道提前只有一场比赛 那么这样做效率不高 有什么建议吗 预匹配 http www php ne
  • 在长时间 Ajax 调用期间显示进度

    我有一个简单的网站 http www kousenit com twitterfollowervalue http www kousenit com twitterfollowervalue 根据一个人的 Twitter 关注者计算数量 由
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • 需要 mysqli_fetch_all 的替代方案

    我有一个 php mysqli 代码 可以找到一个我的本地服务器 但是在我的服务器上使用它时 我得到了一个 Fatal error Call to undefined function mysqli fetch all in home3 t
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 翻译即时消息

    如果表单成功 我正在尝试翻译我发送的即时消息 正常的请求是这样的 request gt getSession gt getFlashBag gt add notice Your E Mail has been sent 所以我尝试使用以下变
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • php,in_array,0值

    我试图理解in array下一个场景的行为 arr array 2 gt Bye 52 77 3 gt Hey var dump in array 0 arr 返回值in array 是布尔值true 正如你所看到的no值等于0 所以有人可
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • PHP 除法浮点值问题

    当我尝试获取余数时 它给出了无效值 我试图获得两位小数的余数 我得到 3 4694469519536E 18 我的价值观是 x 0 1 y 0 005 我尝试了以下方法 echo ed fmod 0 1 0 005 OutPut 3 469
  • HTML:JavaScript:阻止表单提交并调用 Javascript 函数

    我想在按下表单中的提交按钮时进行 AJAX 调用 事实上我无法删除
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 从字符串中分离出整数

    假设我有一个网页 当前通过 url 参数接受单个 ID 值 http example com mypage aspx ID 1234 我想改变它以接受listid 像这样 http example com mypage aspx IDs 1
  • Spring Data JPA 调用 Oracle 函数

    我正在运行一个简单的应用程序 它使用 Spring Boot Spring Data JPA 来实现持久性 下面是一个示例 Oracle 函数 我希望在服务实现类中返回值 CREATE OR REPLACE PACKAGE PKG TEST
  • 我正在尝试计算 txt 文件中的所有字母,然后按降序显示

    正如标题所说 到目前为止 这就是我的代码确实可以工作的地方 但是我无法按顺序显示信息 目前它只是随机显示信息 def frequencies filename infile open filename r wordcount content
  • 使用 matplotlib 绘制 PNG 文件时反转颜色

    I m trying to display a PNG file using matplotlib and of course python For this test I ve generated the following image
  • 使用 fetch 时文本响应为空

    以下代码 fetch http localhost 8080 root 1487171054127 k query bearer token mode no cors credentials include then function re
  • 获取 Cython 指针的值

    我正在编写一个构造 malloc 的函数unsigned char 数组 然后返回指针 在纯 Cython 或 C 中 这很容易 您所要做的就是在函数上设置返回类型 然后返回指向数组的指针 完毕 但是 我已经达到了需要将指向在 Cython
  • debugByteArray 和 copyPixelsToBuffer 不起作用。 SkImageDecoder::Factory 返回 null

    我有一个类 TouchPoint 实现了 Serialized 因为它包含 Bitmap 所以我为该类编写了 writeObject 和 readObject private void writeObject ObjectOutputStr
  • “绿色线程”和Erlang的进程有什么区别?

    在阅读了 Erlang 的轻量级进程之后 我非常确定它们是 绿色线程 直到我读到绿色线程和Erlang进程之间存在差异 但我不明白 实际差异是什么 绿色线程可以直接在它们之间共享数据内存 尽管当然需要同步 Erlang 不使用 绿色线程 而
  • 一次性计算精度、召回率和 F 分数 - python

    准确度 精确度 召回率和 f 分数是机器学习系统中系统质量的衡量标准 它取决于真 假阳性 阴性的混淆矩阵 给定一个二元分类任务 我尝试了以下方法来获得返回准确度 精确度 召回率和 f 分数的函数 gold 1 0 9 predicted 1
  • .unsubscribe 和 .take(1) 之间的区别

    我想知道 使用之间的性能是否有任何差异 take 1 and unsubscribe when unsubscribe订阅后立即使用 var observable Rx Observable interval 100 First var s
  • Express:从内容类型“application/json; charset=utf-8”中删除 charset=utf-8

    我有一个基于 NodeJS 和 Express 的应用程序 每次我试图获取响应时 我都会得到Content Type application json charset utf 8 我无法在前端解析它 因为我期待带有标头的响应Content
  • 声纳想要关闭流[重复]

    这个问题在这里已经有答案了 我有下一个代码 private Stream
  • 如何在 Spring 3.1 应用程序中声明 JSF 托管 bean?

    这是我第一次开发基于 Java EE 架构的应用程序 我正在使用 JSF 2 0 春季3 1 JPA 2 0 我想请教您一个我有点困惑的问题 我想声明我的 JSF 托管 bean 但有很多解决方案可以处理此约束 在 faces config
  • PHP(文件夹)文件按字母顺序列出?

    我不确定这有多简单 但我正在使用一个显示特定文件夹中的文件的脚本 但是我希望它们按字母顺序显示 这样做会很难吗 这是我正在使用的代码 if handle opendir mainframe gt getCfg absolute path i
  • 为什么在 dll 内不调用 threadTerminate

    我有一个问题 与正常应用程序中的相同代码相比 我的 dll 中的代码的行为不同 经过一些调试后 我发现 dll 中从未调用线程的 OnTerminate type TTest class private public procedure t
  • 将 conda 包安装到 google colab

    我尝试将 anaconda 中的软件包安装到 google 的 colab 中 但这不起作用 整件事都是巫毒魔法 以下代码位于一个单元格中 笔记本的电池 wget https repo anaconda com miniconda Mini
  • 如何在 Objective C 中调用 +class 方法而不引用该类?

    我有一系列 策略 对象 我认为将它们作为一组策略类上的类方法来实现很方便 我为此指定了一个协议 并创建了符合的类 下面仅显示一个 protocol Counter NSInteger countFor Model model end int
  • 处理 JAXB 集合

    我正在尝试使用 JAXB 解组以下 XML
  • JavaQuartz 作业持久化

    我对 Java Quartz 不太熟悉 我们只是使用了每天安排的测试作业 对于我们的 Struts2 Web 应用程序 我们希望运行一些安排在一天中不同时间的日常作业 这些作业应该处于持久状态 这样即使作业由于服务器关闭 应用程序失败而失败
  • Wordpress - 使用媒体库获取图像

    我正在创建一个插件 并且有一个管理页面 在该页面的选项中 我想添加一个按钮 允许我打开 Wordpress 媒体库并从中选择图像 之后获取所选图像的 URL 和alt属性 如果可以的话 我该如何使用 AJAX 来做到这一点 首先 您需要将