给wordpress添加自定义字段的分类筛选功能
要为WordPress添加自定义字段的筛选功能,你需要使用WordPress的查询参数(query parameters)和WP_Query类来构建自定义查询。以下是一个详细的示例代码,展示了如何添加自定义字段的筛选功能。
首先,你需要在你的主题或插件的functions.php文件中添加一个函数,用于处理自定义字段的筛选请求。
function custom_field_filter() {// 检查是否有自定义字段的筛选参数if (isset($_GET['custom_field_key']) && isset($_GET['custom_field_value'])) {$custom_field_key = sanitize_text_field($_GET['custom_field_key']);$custom_field_value = sanitize_text_field($_GET['custom_field_value']);// 将自定义字段筛选条件添加到查询变量中$args = array('meta_key' => $custom_field_key,'meta_value' => $custom_field_value,'meta_compare' => '=', // 可以根据需要修改为其他比较运算符,如'LIKE');// 使用WP_Query类构建查询$custom_query = new WP_Query($args);// 检查是否有查询结果if ($custom_query->have_posts()) {// 开始循环输出文章while ($custom_query->have_posts()) {$custom_query->the_post();// 在这里输出你的文章内容,比如使用the_title()输出标题,the_content()输出内容等the_title();the_content();// 其他你需要的输出逻辑}// 恢复原始查询和循环wp_reset_postdata();} else {// 没有匹配的文章时的处理echo '没有匹配的文章';}// 结束查询wp_reset_query();// 停止主查询的执行,因为我们已经处理了自己的查询exit;}
}// 添加钩子,在WordPress初始化时调用自定义字段筛选函数
add_action('init', 'custom_field_filter');
接下来,在你的模板文件中(比如archive.php或index.php),你需要添加一个筛选表单。这个表单将允许用户输入自定义字段的键和值,并触发筛选请求。
<form method="get" action=""><label for="custom_field_key">自定义字段键:</label><input type="text" name="custom_field_key" id="custom_field_key" value="<?php echo isset($_GET['custom_field_key']) ? $_GET['custom_field_key'] : ''; ?>"><label for="custom_field_value">自定义字段值:</label><input type="text" name="custom_field_value" id="custom_field_value" value="<?php echo isset($_GET['custom_field_value']) ? $_GET['custom_field_value'] : ''; ?>"><input type="submit" value="筛选">
</form><!-- 接下来的代码是你的文章列表或其他内容 -->
这段代码创建了一个简单的筛选表单,用户可以在其中输入自定义字段的键和值,然后点击“筛选”按钮来提交表单。表单的action属性被设置为空字符串,这意味着它将提交到当前页面,并且method属性被设置为get,以便通过URL参数传递筛选值。
当用户填写表单并提交时,WordPress会接收到custom_field_key和custom_field_value这两个参数,并触发init钩子。我们的custom_field_filter函数会检查这些参数是否存在,如果存在,则使用它们来构建自定义查询,并显示匹配的文章。
原文
https://www.wowsoho.com/news/6248.html
相关文章:
给wordpress添加自定义字段的分类筛选功能
要为WordPress添加自定义字段的筛选功能,你需要使用WordPress的查询参数(query parameters)和WP_Query类来构建自定义查询。以下是一个详细的示例代码,展示了如何添加自定义字段的筛选功能。 首先,你需要在你的主题或插件的functions.php文件…...
Android 系统的启动过程
Android 系统的启动流程: RomBoot(只读存储器引导程序):这是设备上电时运行的初始软件。RomBoot执行基本的硬件初始化,确保硬件处于可以运行后续启动阶段的状态。这一阶段非常重要,因为它为整个启动过程奠定…...
jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息
前提 Jenkins使用docker部署 问题 (在jenlins中设置凭证的方式)在Jenkins的任务重配置Git地址,并且设置了git凭证,但是验证不通过,报错; 无法连接仓库:Command "git ls-remote -h -- http://192.1XX.0.98:X02/…...
Emotion Prompt-LLM能够理解并能通过情感刺激得以增强
Large Language Models Understand and Can be Enhanced by Emotional Stimuli 情感智能对我们的日常行为和互动产生了显著的影响。尽管大型语言模型(LLMs)被视为向人工通用智能迈进的一大步,在许多任务中表现出色,但目前尚不清楚…...
流畅的 Python 第二版(GPT 重译)(十三)
第二十四章:类元编程 每个人都知道调试比一开始编写程序要困难两倍。所以如果你在编写时尽可能聪明,那么你将如何调试呢? Brian W. Kernighan 和 P. J. Plauger,《编程风格的要素》 类元编程是在运行时创建或自定义类的艺术。在 P…...
C/C++炸弹人游戏
参考书籍《啊哈,算法》,很有意思的一本算法书,小白也可以看懂,详细见书,这里只提供代码和运行结果。 这里用到的是枚举思想,还有更好地搜索做法。 如果大家有看不懂的地方或提出建议,欢迎评论区…...
③【Docker】Docker部署Nginx
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ③【Docker】Docker部署Nginx docker拉取nginx…...
Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q/A 应用程序
嘿! 您是否曾经感觉自己被淹没在信息的海洋中? 有这么多的书要读,而时间却这么少,很容易就会超负荷,对吧? 但猜猜怎么了? 你可以使用大型语言模型创建自定义聊天机器人,该模型可以帮…...
Linux课程____进程管理
记录工作日志 script 240319.log CTRLd 退出 cat 240319.log //查看 一、查看进程 1.静态 ps -aux 显示所有包含其他使用者的行程 ps -elf 2.动态 top 3.pgrep 查看特定条件的进程 pgrep -l “log” 搜索特定的程序 pgrep -l "ssh" pgrep -l -U…...
算法设计与分析-动态规划算法的应用——沐雨先生
一、实验目的 1. 掌握动态规划算法的基本思想,包括最优子结构性质和基于表格的最优值计算方法。 2.熟练掌握分阶段的和递推的最优子结构分析方法。 3. 学会利用动态规划算法解决实际问题 。 二、实验内容 1. 问题描述 &#…...
Flutter-仿淘宝京东录音识别图标效果
效果 需求 弹起键盘,录制按钮紧挨着输入框收起键盘,录制按钮回到初始位置 实现 第一步:监听键盘弹起并获取键盘高度第二步:根据键盘高度,录制按钮高度计算偏移高度,并动画移动第三步:键盘收起…...
雷池 WAF 社区版:下一代 Web 应用防火墙的革新
黑客的挑战 智能语义分析算法: 黑客们常利用复杂技术进行攻击,但雷池社区版的智能语义分析算法能深入解析攻击本质,即使是最复杂的攻击手法也难以逃脱。 0day攻击防御: 传统防火墙难以防御未知攻击,但雷池社区版能有效…...
音视频实战---音视频解码
该方法只能解码裸流。 1、使用avcodec_find_decoder查找解码器 根据使用解码器类型,决定是解码音频还是解码视频。 2、 使用av_parser_init获取裸流解析器和方法 3、使用avcodec_alloc_context3分配编解码器上下文 4、使用avcodec_open2将解码器和解码器上下文…...
MyBatisPlus 之四:MP 的乐观锁和逻辑删除、分组、排序、链式的实现步骤
乐观锁 乐观锁是相对悲观锁而言的,乐观锁假设数据一般情况不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果冲突,则返回给用户异常信息,让用户决定如何去做。 乐观锁适用…...
node.js常用的命令
Node.js 是一个用于执行 JavaScript 代码的运行时环境。以下命令是 Node.js 开发中常用的命令,可以帮助你进行包管理、项目配置和代码执行等操作。 node -v:检查 Node.js 的版本。npm -v:检查 npm(Node.js 包管理器)的…...
Python从入门到精通秘籍十
一、Python之了解异常 当在Python中执行代码时,如果发生错误,就会抛出异常(Exception)。处理异常是编写健壮的代码的重要部分。Python提供了try-except语句来捕获和处理异常。 下面是使用Python代码详细讲解异常处理的例子&…...
Android:adb命令
执行adb命令的窗口如下 Mac或Linux系统里的终端窗口; window系统运行输入cmd打开的指令窗口; Android Studio 里控制下面的Terminal窗口 1. 查看已链接的设备和模拟器 adb devices -l 2. 查看Android内核版本号 adb shell getprop ro.build.version.re…...
Github基本功能和使用技巧
基础功能 创建仓库(Repository):在GitHub上创建一个新的仓库,可以通过点击页面右上角的“New”按钮开始。选择仓库的名称、描述和许可证等信息,并选择是否将仓库设置为公开或私有。 克隆仓库(Clone&#x…...
mac上系统偏好里无法停止mysql
使用强制杀死进程: sudo kill -9 pid原文:https://www.cnblogs.com/yalong/p/14136997.html 命令行也没有关闭成功:https://blog.51cto.com/u_5018054/5101645...
launchctl及其配置、使用、示例
文章目录 launchctl 是什么Unix / Linux类似的工具有什么哪个更常用配置使用常用子命令示例加载一个 launch agent:卸载一个 launch daemon:列出所有已加载的服务:启动一个服务:停止一个服务:禁用一个服务:启用一个服务: 附com.example.myagent.plist内容有趣的例子参考 launch…...
揭秘 Android 开发:利用 adb 命令轻松获取手机软硬件 build 信息的秘籍
在 Android 开发的广阔天地中,获取设备的详细软硬件信息是一项基础且至关重要的任务。无论是为了调试应用在不同设备上的表现,还是为了收集设备数据以优化应用功能,准确获取手机的 build 信息都是开发者不可或缺的技能。今天,就让…...
013、语音风格迁移与控制:让 AI 模仿特定音色与语调
上周调试一个车载语音项目,客户提了个需求:“能不能让导航语音听起来像我们老板的声音?他录三句话就行。” 当时我心里咯噔一下——这要是搁两年前,得专门录几十小时数据重新训练模型,现在倒是可以试试风格迁移。今天我们就聊聊怎么让 TTS 开口说人话,还能带上点“人味儿…...
TensorFlow实战指南:激活函数的选择与应用场景解析
1. 激活函数:神经网络的"开关设计" 如果把神经网络比作电路系统,激活函数就是每个神经元上的智能开关。它决定了电流(信息)能否通过、通过多少,以及如何变形。我在搭建第一个图像分类模型时,曾把…...
5分钟精通QTTabBar多语言设置:跨文化文件管理终极指南
5分钟精通QTTabBar多语言设置:跨文化文件管理终极指南 【免费下载链接】qttabbar QTTabBar is a small tool that allows you to use tab multi label function in Windows Explorer. https://www.yuque.com/indiff/qttabbar 项目地址: https://gitcode.com/gh_mi…...
PyTorch训练中如何避免GC.collect()拖慢GPU速度?实测优化方案分享
PyTorch训练中如何避免GC.collect()拖慢GPU速度?实测优化方案分享 在深度学习模型训练过程中,GPU显存占用高但利用率低是一个常见问题。许多开发者习惯性地在训练循环中调用GC.collect()来主动触发垃圾回收,试图缓解显存压力。然而࿰…...
蓝桥杯STM32G431RBT6开发板:从CubeMX配置到Keil5工程搭建全流程(避坑指南)
蓝桥杯STM32G431RBT6开发实战:从CubeMX配置到Keil5工程深度解析 第一次接触蓝桥杯嵌入式赛道的同学,往往会在开发环境搭建阶段遇到各种"玄学问题"——时钟配置报错、代码无法下载、工程文件莫名丢失。这些问题看似简单,却可能让新手…...
2025年网盘直链下载助手完整指南:告别限速,轻松获取高速下载链接
2025年网盘直链下载助手完整指南:告别限速,轻松获取高速下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 …...
HCIA作业
第一步:将拓扑图分成三个架构 (学校内网,运营商,百度网络),再着眼于其中一个架构第二步: 将学校内网分成两个部分:1.二层交换机 2.三层路由器 【先配二层再做三层】2.1:配置交换机࿱…...
3分钟掌握Krita智能选区插件:AI图像分割让抠图变得如此简单
3分钟掌握Krita智能选区插件:AI图像分割让抠图变得如此简单 【免费下载链接】krita-vision-tools Krita plugin which adds selection tools to mask objects with a single click, or by drawing a bounding box. 项目地址: https://gitcode.com/gh_mirrors/kr/k…...
徒步登山者带什么耳机?十款性价比运动耳机分享,精准不踩坑
经常去登山的人都懂,户外登山没个耳机真的太煎熬了,不管是爬坡时给自己打气,还是下山时缓解无聊,耳机都是刚需。但我挑登山用的耳机,踩的坑能装一背包,今天就实打实跟大家唠唠,避免你们走我的老…...
