WordPress 常规设置页面调用媒体中心上传图片插入URL(新版可用)
首先,我们需要在主题或插件文件夹中创建一个 JavaScript 文件(如:media-uploader.js),该文件中包含如下代码。
/*** 媒体中心上传 js
**/
jQuery(document).ready(function($){var mediaUploader;$('#upload_image_button').click(function(e) {e.preventDefault();if (mediaUploader) {mediaUploader.open();return;}mediaUploader = wp.media.frames.file_frame = wp.media({title: '选择图片',button: {text: '选择图片'}, multiple: false });mediaUploader.on('select', function() {var attachment = mediaUploader.state().get('selection').first().toJSON();// 插入媒体URL到背景图像字段中$('#bzg_wechat_img').val(attachment.url);});mediaUploader.open();});
});
上面代码所做的工作很简单,当我们点击 #upload_image_button 按钮时,代码调用wordpress的媒体上传工具,用户选择图片后,插入图片网址到 #background_image 字段,作为该字段的值。创建并保存好上面的代码文件后,下一步,我们需要把这个JavaScript文件加载到页面中。
//加到function里
add_action( 'admin_enqueue_scripts', 'custom_script_js' );
function custom_script_js() {if ( ! did_action( 'wp_enqueue_media' ) ) {wp_enqueue_media();}wp_enqueue_script( 'custom-media-uploader', get_stylesheet_directory_uri() . '/js/scripts.js', array( 'jquery' ) );
}
需要注意的是,因为本示例中,我们开发的是后台页面,需要使用 admin_enqueue_scripts 钩子来加载JavaScript文件,如果是前端页面,我们需要使用 wp_enqueue_scripts 钩子。
实现表单字段
<input id=”background_image” type=”text” name=”background_image” value=”<?php echo get_option(‘background_image’); ?>” /><input id=“upload_image_button” type=“button” class=“button-primary” value=“Insert Image” />
上面代码实现的表单字段大致如下图所示,点击「Insert Image」按钮,我们就可以调起WordPress的媒体上传工具,上传或选择已经上传的图片,然后,插图该图片到前面的 URL 字段中。
如果需要更加良好的用户体验,我们还可以简单调整一下上面的代码,比如,添加一个隐藏的字段用于保存媒体的 ID、添加一个预览字段用于显示缩略图等等。篇幅所限,就不再这里细说了,有需要的朋友可以自行实现。
相关文章:
WordPress 常规设置页面调用媒体中心上传图片插入URL(新版可用)
首先,我们需要在主题或插件文件夹中创建一个 JavaScript 文件(如:media-uploader.js),该文件中包含如下代码。 /*** 媒体中心上传 js **/ jQuery(document).ready(function($){var mediaUploader;$(#upload_image_but…...
Elasticsearch实现检索词自动补全(检索词补全,自动纠错,拼音补全,繁简转换) 包含demo
Elasticsearch实现检索词自动补全 自动补全定义映射字段建立索引测试自动补全 自动纠错查询语句查询结果 拼音补全与繁简转换安装 elasticsearch-analysis-pinyin 插件定义索引与映射建立拼音自动补全索引测试拼音自动补全测试繁简转换自动补全 代码实现demo结构demo获取 自动补…...
LaunchView/启动页 的实现
1. 创建启动画板,LaunchScreen.storyboard 添加组件如图: 2. 项目中设置只支持竖屏,添加启动画板,如图: 3. 创建启动画面动画视图,LaunchView.swift import SwiftUI/// 启动视图 struct LaunchView: View {/// 字符串转换为字符串…...
windows安装npm教程
在安装和使用NPM之前,我们需要先了解一下,NPM 是什么,能干啥? 一、NPM介绍 NPM(Node Package Manager)是一个用于管理和共享JavaScript代码包的工具。它是Node.js生态系统的一部分,广泛用于构…...
网络端口验证
网络端口连通性验证 1、背景2、目标3、环境4、部署4.1、准备工作4.2、安装4.3、场景测试 1、背景 在日常运维过程中经常会遇到以下两种场景: 1、程序业务端口的开具及验证 2、业务程序访问异常网络排障 2、目标 1、验证端口的正确开具 2、网络策略的连通性 3、环…...
MongoDB 索引和常用命令
一、基本常用命令 1.1 案例需求 存放文章评论的数据存放到 MongoDB 中,数据结构参考如下,其中数据库为 articledb, 专栏文章评论 comment 字段名称 字段含义 字段类型 备注 _id ID ObjectId或String Mongo的主键的字段 articlei…...
【超详细】win10安装docker
win10安装docker 因为要在win10复现一个CVE漏洞,需要用到docker所以特地自己亲自安装了一下,其实在win10上安装docker与在Linux上面的原理一致,都是将docker安装在虚拟机里,不同的是win10是安装在Hyper-V虚拟机上的,需…...
JVM调优(一)
什么时候会有内存泄漏,怎么排查? 答: 首先内存泄漏是堆中的一些对象不会再被使用了,但是无法被垃圾收集器回收,如果不进行处理,最终会导致抛出 java.lang.OutOfMemoryError 异常。 内存泄露: …...
Parallels Desktop 19中文-- PD19最新安装
Parallels Desktop 19可以让我们在Mac电脑上运行Windows和其他操作系统,而无需重启计算机。这款软件的稳定性较高,能够在Mac上同时运行多个操作系统,如Windows、Linux等,而无需重启电脑。它可以让用户无缝地在不同操作系统之间切换…...
【c++】向webrtc学比较1:AheadOf、IsNewerTimestamp
webrtc源码分析-rtp序列号新旧比较 大神文章分析的非常到位。大神分析:AheadOrAt(a, b)是判断a是否比b新的核心,其原理是这样的:rfc1982规定了序列号递增间隔不能超过取值范围的1/2(这是自己理解的),那么要判断a是否比b新,只要判断b到a的递增是否在1/2即可,递增超过1/2,…...
华为云云耀云服务器L实例评测|企业项目最佳实践之docker部署及应用(七)
华为云云耀云服务器L实例评测|企业项目最佳实践系列: 华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测࿵…...
MAC上使用Wireshark常见问题
文章目录 介绍正文启动异常-Permission denied解决方法 过滤协议和地址指定源地址和目的地址调整 time format 介绍 简单记录Wireshark在日常使用过程中的遇到的小case。 正文 Wireshark相较于tcpdump使用较为简单,交互也更为友好。 点击Start即可启动抓包 启动…...
在C++中++a和a++有什么区别?
2023年10月16日,周一中午 a和a在语义上的区别 a是先进行运算(增加1),然后返回新值。 a是先返回原值,然后进行运算(增加1)。 a和a在效率上的区别 a直接返回新值,不需要临时变量保存原值。 而a需要先返回原值,然后再进行增加1的操作。这需要使用一个临时变量来保存…...
NewStarCTF2023公开赛道-压缩包们
题目提示是压缩包 用010editor打开,不见PK头,补上50 4B 03 04 14 00 00 00 将文件改成.zip后缀,打开,解压出flag.zip 尝试解压,报错 发现一串base64编码 SSBsaWtlIHNpeC1kaWdpdCBudW1iZXJzIGJlY2F1c2UgdGhleSBhcmUgd…...
oracle数据库增加表空间数据文件
查询数据文件:select * from dba_data_files order by file_name; 增加:alter tablespace 数据库名 add datafile data size 34359721984;...
【08】基础知识:React中收集表单数据(非受控组件和受控组件)
一、概念 非受控组件: 页面中所有输入类的 DOM,现用现取。 给组件绑定 ref 属性,在需要时通过 ref 获取相应值。 受控组件: 页面中所有输入类的 DOM,随着输入,将内容维护到状态 state中,当…...
数据结构之堆排序和前,中,后,层序遍历,链式二叉树
首先我们要知道升序我们要建小堆,降序建大堆,这与我们的大多人直觉相违背。 因为我们大多数人认为应该将堆顶的数据输出,但如果这样就会导致堆顶出堆以后,堆结构会被破坏,显然我们不能这样。 所有我们反其道而行&…...
多线程中ThreadPoolExecutor.map()中传递多个参数
with concurrent.futures.ThreadPoolExecutor(max_threads) as executor:results executor.map(get_captcha_image, ip_addrs, [img_url] * len(ip_addrs)) #要传入多个参数时,每个参数都得是固定相同长度的可迭代对象# 收集结果for result in results:print(resul…...
linux centos7 环境下 no such file or directory
目录 1.问题描述2.主要原因2.1修改后代码2.2修改前代码 总结参考 1.问题描述 预览excel文件时无法找到对应的html文件 2.主要原因 异常原因:代码获取的是系统的tmp文件,但是linux环境环境中心tmp目录是没有权限的,所以不能获取系统的根目录…...
Nginx 反向代理 SSL 证书绑定域名
配置 Nginx 反向代理和 SSL 泛域名证书绑定域名 Nginx 是一个功能强大的 Web 服务器和反向代理服务器,可以用于将客户端请求转发到后端服务器,并提供安全的 HTTPS 连接。本文将介绍如何配置 Nginx 反向代理,并使用 SSL 泛域名证书绑定域名&a…...
医学影像融合避坑指南:如何避免MRI-PET配准中的常见伪影问题
医学影像融合避坑指南:如何避免MRI-PET配准中的常见伪影问题 在精准医疗时代,多模态医学影像融合已成为临床诊断和科研分析的重要工具。当我们将功能显像的PET与高分辨率解剖结构的MRI相结合时,理想情况下应该获得"11>2"的互补优…...
全新升级:基于Vue3新标准的企业级后台综合解决方案实战(附源码课件)
先放资源:https://pan.quark.cn/s/a99f364f3e28 引言:后台前端开发的工程化跃迁之路 在当前互联网行业的技术迭代周期中,Web前端大厂工程师的能力模型正在经历从"页面仔"到"工程架构师"的深刻变革。单纯掌握Vue2选项式API和基础CRUD开发已无法满足阿里…...
论文省心了!盘点2026年全网爆红的的降AI率平台
轻松降低论文AI率在2026年已不再是天方夜谭。2026年降AI率平台横空出世,实测提速效果炸裂,覆盖AI痕迹消除、文本改写润色、降重优化、学术合规检测四大核心场景,高效搞定毕业论文难题。 一、全流程王者:一站式搞定论文全链路 这类…...
ESP8266轻量HTTP客户端实现ThingSpeak数据上传
1. 项目概述ThingSpeak_ESP8266 是一个面向嵌入式物联网终端的轻量级 HTTP 客户端实现,专为 ESP8266 系统级芯片(SoC)设计,用于将传感器数据可靠、低开销地上传至 ThingSpeak 云平台。该库不依赖 Arduino 框架的高级封装ÿ…...
影墨·今颜GPU利用率提升方案:4-bit NF4量化让FLUX.1-dev响应提速300%
影墨今颜GPU利用率提升方案:4-bit NF4量化让FLUX.1-dev响应提速300% 1. 引言:当艺术创作遇上性能瓶颈 如果你用过AI绘画工具,尤其是那些追求极致写实效果的,大概率经历过这样的等待:输入一段精心构思的描述ÿ…...
2023-12-15 Qt Location开发实战指南:从零构建地图应用
1. Qt Location模块入门指南 第一次接触Qt Location模块时,我完全被它强大的地图功能震撼到了。这个模块完美融合了QML的声明式语法和C的高性能,让开发者能够轻松构建跨平台的地图应用。记得当时为了显示一个简单的地图,我整整折腾了两天&…...
基于双向DC - DC变换器(DAB)的储能系统控制仿真
Matlab/Simulink仿真模型,基于双向DC-DC变换器(双有源桥变换器DAB)的储能系统控制仿真模型,采用电压电流双PI闭环控制策略,单移相控制,在母线电压受到外界干扰的情况下,通过控制电池的充电和放电…...
5分钟搞定Netdata监控面板汉化:最新GitHub汉化包一键安装教程
Netdata监控面板极速汉化指南:从零到精通的完整解决方案 对于国内开发者而言,英文界面始终是技术工具使用中的一道隐形门槛。Netdata作为一款功能强大的实时监控工具,其全英文的仪表盘让不少运维人员望而却步。本文将带你彻底解决这一痛点&am…...
Qwen3-ForcedAligner在开源项目中的贡献指南
Qwen3-ForcedAligner在开源项目中的贡献指南 1. 引言 如果你对语音识别和音频处理感兴趣,想要为开源项目做贡献,Qwen3-ForcedAligner是个绝佳的选择。这个项目专注于语音文本对齐技术,能够精确标注音频中每个词或字符的时间戳,对…...
【3D设计】资源获取方法论:7个精准化策略助你高效获取专业级素材
【3D设计】资源获取方法论:7个精准化策略助你高效获取专业级素材 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 在3D内容创作领域,优质资源…...
