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

Wordpress纯SQL查询,获取带有acf字段的自定义post类型股票

在WordPress中,使用纯SQL查询来获取带有Advanced Custom Fields(ACF)字段的自定义post类型“股票”的数据,需要对WordPress的数据库结构有一定的了解。WordPress的ACF字段数据通常存储在wp_postmeta表中,而自定义post类型的数据则存储在wp_posts表中。

基础概念

  • 自定义Post类型:WordPress允许用户创建自定义的Post类型,以满足特定内容的需求。
  • ACF字段:Advanced Custom Fields是一个流行的WordPress插件,它允许用户为Post添加自定义字段。
  • SQL查询:结构化查询语言(SQL)是一种用于管理关系数据库的编程语言。

相关优势

  • 灵活性:通过SQL查询,可以直接访问数据库,实现高度定制化的数据检索。
  • 性能:对于大量数据的处理,直接的SQL查询通常比通过WordPress函数更高效。

类型与应用场景

  • 类型:这种查询通常用于需要精确控制数据检索逻辑的场景。
  • 应用场景:例如,当需要从数据库中提取特定条件下的数据,并且这些数据涉及到自定义字段时。

示例SQL查询

以下是一个示例SQL查询,用于获取自定义post类型为“股票”的所有帖子,并且这些帖子具有ACF字段stock_symbol

代码语言:txt
复制
SELECT p.ID, p.post_title, pm.meta_value AS stock_symbol
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
WHERE p.post_type = 'stock'
AND pm.meta_key = 'stock_symbol';

解释

  • wp_posts p:这里pwp_posts表的别名,用于简化查询。
  • LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id:通过左连接将wp_posts表和wp_postmeta表关联起来,基于post ID。
  • WHERE p.post_type = 'stock':筛选出post类型为“股票”的帖子。
  • AND pm.meta_key = 'stock_symbol':进一步筛选出具有stock_symbol这个ACF字段的帖子。

遇到问题的原因及解决方法

如果在执行上述查询时遇到问题,可能的原因包括:

  • 数据库结构变更:WordPress或ACF插件的更新可能导致数据库结构发生变化。
  • 字段名称错误:指定的ACF字段名称可能不正确。
  • 权限问题:执行查询的用户可能没有足够的数据库访问权限。

解决方法

  1. 确认数据库结构是否发生变化,并更新查询语句以匹配新的结构。
  2. 使用SELECT * FROM wp_postmeta WHERE meta_key LIKE '%stock_symbol%'来查找正确的字段名称。
  3. 确保数据库用户具有执行查询所需的权限。

通过以上步骤,应该能够解决大多数与执行SQL查询相关的问题。

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

相关·内容

展示 Postlight 的 WordPress + React Starter Kit

认识 Post light 的 WordPress + React Starter Kit,这是一个免费的、从零到神的工具箱,适用于需要在自己的 PC 上轻松评估Headless WordPress 的建筑师和物品爱好者...Post light 在前一年左右为我们的客户发送了一些带有响应前端的 Headless WordPress 企业,我们厌倦了不断重复底层的跑腿工作。...Headless WordPress 要求你的设计团队有一些 WordPress/PHP 能力,但是你可以将这项工作分离给后端工程师,并释放你的前端工作能力以忽略 WordPress 的内部活动,只需注意如何查询...你必须设置自定义帖子类型和自定义字段(Progressed Custom Fields Master 和自定义帖子类型 UI)的 WordPress 模块。...WordPress 模块在 WP REST 编程接口(ACF 到 WP 编程接口和 WP-REST 编程接口 V2 菜单)中发现那些自定义字段和 WordPress 菜单。

1.1K31

在Genesis主题中手动添加WordPress相关文章

“相关文章(Related posts )” 或者叫“你可能还感兴趣的文章”,是WordPress中呼声最高的需求之一。许多博客,新闻网站和企业网站都有这个需求。有很多第三方插件都可以提供这个的功能。...甚至Automattic,WordPress背后的公司,也有一个插件JetPack提供此功能。 唯一的问题是,大多数插件都太臃肿了,包含太多我不需要的东西。带来了很多累赘。...因为我一直在使用强大Wordpress插件ACF(Advanced Custom Fields )来满足我的大部分需求,如果我能用手上现有的东西来实现“相关文章”的功能,为什么还要安装别的东西呢?...所以,让我们开始吧 第一步:使用ACF创建自定义字段 首先,我们需要创建所需的自定义字段,以帮助我们获取所需的数据,即关系字段类型。请按照下图进行正确设置。...还有一个更简单的方法,你可以在这里下载我导出的ACF配置文件,并将文件导入ACF。 related-posts.zipDownload ?

1.3K30
  • WP Engine推出AI驱动的WordPress网站搜索

    利用高级自定义字段进行智能搜索 ACF 代表 高级自定义字段,适用于 CMS。...有 解决方案 和插件,允许网站创建者定义和添加超出 WordPress 提供的基本字段的自定义字段,但 Patterson 谈论的是默认的 WordPress 搜索,他承认它不能很好地处理这些搜索期望,...他补充说,为了创造增强的搜索体验,智能搜索必须与 ACF 很好地配合。就目前而言,索引 ACF 是“WordPress 中搜索出了名的难题”。...“我们所做的是索引和映射你的 ACF 字段,开箱即用,点击一个按钮,无需自定义映射,无需简码,无需任何代码,你只需在智能搜索中默认索引所有 ACF 和所有自定义帖子类型,”他说。...将搜索从 WordPress 数据库中卸载,并自动索引 ACF 字段中的所有自定义帖子类型——我们认为这是我们在此处 […] 独一无二的地方;再次希望以 WordPress 开发人员工作的方式工作,”他说

    13510

    WordPress自定义查询:WP_Query的使用

    wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 <?...__not_in' /** * 文章类型 & 状态参数 - 显示某些文章类型里面的文章 */ 'post_type' => array( //(字符串/ 数组) - 文章类型,根据文章类型获取文章,...'my-post-type', // - 自定义文章类型 (例如:movies) ), 'post_status' => array( //(字符串 / 数组) - 使用文章状态,根据文章状态获取文章,...'post_type' => 'any', // - 获取所有文章类型里面的文章,除了版本和文章类型参数'exclude_from_search'设置为true的文章类型 'post_status'...*/ 'no_found_rows' => false, //(布尔值) 默认为假,为了分页,WordPress 在大多数查询中使用 SQL_CALC_FOUND_ROWS 查询, 即使你不需要分页,

    1.4K20

    WordPress自定义查询WP_Query使用方法大全

    __not_in' /** * 文章类型 & 状态参数 - 显示某些文章类型里面的文章 */ 'post_type' => array( //(字符串/ 数组) - 文章类型,根据文章类型获取文章,默认为...'my-post-type', // - 自定义文章类型 (例如:movies) ), 'post_status' => array( //(字符串 / 数组) - 使用文章状态,根据文章状态获取文章,...'post_type' => 'any', // - 获取所有文章类型里面的文章,除了版本和文章类型参数'exclude_from_search'设置为true的文章类型 'post_status' =...) - 自定义字段的键 'meta_value' => 'value', //(字符串) - 自定义字段的值 'meta_value_num' => 10, //(数字) - 自定义字段的值 'meta_compare...*/ 'no_found_rows' => false, //(布尔值) 默认为假,为了分页,WordPress 在大多数查询中使用 SQL_CALC_FOUND_ROWS 查询, 即使你不需要分页,

    4.3K41

    原创插件:网站收录查询和显示WordPress插件(自定义栏目优化版)

    小小的研究了一下 WordPress 的自定义栏目,不到半小时,我就将上次分享的百度已收录的查询和显示代码改成了自定义栏目改进版(post_meta)! 一、效果预览 ? ?...> 比如,张戈博客是将以上函数添加到了文章模板的副标题位置: ? 三、纯代码部署 理论上,任何 WordPress 插件都能采用纯代码来替代,所以继续分享一下纯代码部署的方法。...原版功能:通过 curl 在百度查询本页 url 并获取结果,如果存在就输出已收录,否则就是未收录,并且可点击提交 url 2. 原版缺点:每次打开页面都需要在百度查询一遍,严重拖慢速度!...待下一次再次打开页面时,先检查文章自定义栏目字段来判断是否已收录,若已收录则直接输出,而不再执行 curl 查询,从而解决了 curl 实时查询拖慢速度的问题! ii....上次分享的方法是将结果写入到数据库,而且部署的时候需要手动操作数据库,并添加字段,相对比较麻烦也很容易让没有经验的小白站长产生畏惧感。

    1.4K60

    使用内存缓存优化 WordPress 文章浏览统计效率

    WordPress 默认的自定义字段缓存方式 WordPress 会以 $post_id 作为 cache_key,'post_meta' 作为 cache_group 整体进行缓存。...所以更新某个自定义字段,相当于该 $post_id 下的所有自定义字段的缓存都一起更新。...而每次文章浏览,这个自定义字段数据都会加 1,这样,每次自定义字段的缓存都会更新,然后就会造成每个页面会多出三个 SQL 查询。 有没有办法解决这个问题呢?...使用内存缓存优化文章浏览统计效率 我们可以把文章的浏览统计先缓存到内存中,每次增加10次浏览才写入数据库中去,这样就可以极大地降低 WordPress 操作因为自定义字段变更而造成 SQL 查询次数。...($post_id, 'views'); } } return $check; }, 1, 4); // 获取文章浏览数的时候,首先从内存中获取,没有才从数据库中获取 add_filter(

    31520

    wordpress 学习笔记 (二)

    [is_attachment] 附件的详情页 [post_mime_type] 附件类型:MIME [posts] [post] 同文章详情页 10.首页的查询 默认: [is_home] => 当前页是首页...阅读设置:为默认设置的时候 查询出最新的文章 自定义: [is_home] => 1 ,[is_page] => 1 阅读设置:为自定义页面的时候 查询出来是设置的页面 11.搜索页的查询 [is_serch...错误页【404】页面的查询 [is_404] => 当前页是404页 没有[query_object]的字段 [posts] [post] 里面都为空 13....the_xxx 可以直接输出, get_the_xxx 不能直接输出 WordPress的函数中,the开头的基本都是直接输出内容,get开头是获取内容。...获取文章分类目录纯数据:get_the_category wp模板标签get_the_category用于获取当前分类信息: 包含 分类ID、分类名称、分类别名、分类描述、父分类ID、分类下文章数量 等

    95220

    迁移 valine 评论数据至 wordpress 数据库

    此处可无视 key 值选项,后面需要自定义 comment_ID 为主键 完成 json 到 sql 到转换后,将转换后的 sql 文件下载到本地,根据 wp 数据库中自带的 wp_comments 数据表结构进行进一步编辑...关联文章页面 首先我们需要利用 valine 中提供的 url 字段来分别匹配 wordpress 数据库中对应的文章 slug 别名的文章id(也就是把 url 转换为其文章对应的 comment_post_ID...会影响 comment_parent 字段写入成功后续 wordpress 无法正常读取!我们需要在本地完成所有 comment_parent 字段的 sql 数据关联操作,可参考以下方案。...> 首先将 wordpress 数据库中的 wp_comments 数据表新增字段后导出 sql 文件。...字段中,这里我们通过交叉查询(cross join)来实现 mysql 中两表数据的查询及更新操作 使用 GROUP BY 将查询到符合 wp_posts/wp_comments 中符合条件的 COUNT

    13000

    WordPress是怎么设计扩展字段的?

    在前端显示这些自定义字段也很方便,WordPress提供了get_post_meta() 函数来获取并显示字段值。可以直接在模板文件中调用该函数显示。...自定义字段是WordPress内置的一种字段扩展方式,它允许用户为文章、页面和自定义内容类型添加自定义字段。...wp_postmeta表中包含以下几个字段: meta_id:自增长的整数类型,作为主键。 post_id:文章或页面的ID,作为外键,指向wp_posts表中的ID字段。...需要注意的是,为了提高查询效率,用户可以为自定义字段添加索引。例如,如果用户经常查询某个自定义字段的值,可以为meta_key字段添加一个普通索引,以便加快查询速度。...总之,自定义字段是WordPress字段扩展的一种常用方式,它的表设计采用wp_postmeta表,包括meta_id、post_id、meta_key和meta_value字段。

    25420

    WordPress 文章查询教程9:如何使用自定义字段(post meta)参数

    在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...第九讲关于自定义字段相关的参数,自定义字段相关的参数可以让你获取特定自定义字段的文章,相关的参数比较多,首先基本的参数: meta_key (string) – 自定义字段的 key。...type (string) – 自定义字段的类型,支持的类型有:'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED',...简单自定义字段查询 获取自定义字段的 key 是 'color',而 value 则任意值都可的文章: $query = new WP_Query( array( 'meta_key' => 'color...,需要传递嵌套数组,即使只有一个自定义字段查询的时候,也是一样。

    1.2K10

    WordPress 文章查询教程6:如何使用排序相关的参数

    在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...meta_value – 按照自定义字段排序,请先确保在查询中已经设置了 meta_key,额外要注意,是按字母顺序排列的,这对于字符串来说没有问题,但对于数字可以结果不是你预期的,(例如结果是 1、3...如果要将自定义字段的值转换为特定类型之后再排序,可以通过指定 meta_type 来实现,可以这些类型:NUMERIC, BINARY, CHAR, DATE, DATETIME, DECIMAL,...meta_value_num – 按照数字类型的自定义字段排序。...; 按照评论数排序(最受欢迎): $args = array( 'orderby' => 'comment_count' ); $query = new WP_Query( $args ); 获取按照价格自定义字段排序的商品

    1.6K30

    提升网站访问速度的 SQL 查询优化技巧

    此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...让我们深入了解查询的更多信息。 MySQL是你的朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 – 更多内容将在后面的文章中介绍。

    6K100

    微信公众号自动回复图文消息

    写在前面 订阅号收到过一些查询消息,比如vue、react,无奈一直没有心情去搞关键字搜索,就丢一边去了 修复博客首页样式问题时恰巧看到了之前的博文:微信公众平台图文消息自动生成,里面有提到WordPress...“协议”建立了信任关系) 4.添加自动回复规则 到试玩阶段了,进入WordPress后台,左侧“微信订阅号管理/自定义回复 -> 添加新回复” 插件提供了3种触发机制(消息匹配机制): 普通:关键字模糊匹配...勾选 类型 纯文本 内容 hoho 保存并退出,微信进入订阅号发送“测试或test或t”,会立即收到回复“hoho” 回复的消息格式支持: 纯文本 图文消息:类似于微信公众平台的图文消息...,给配图和文章链接 最近消息:最新的几篇文章 随机消息:随机选取几篇文章 搜索关键字:站内搜索结果 最有用的应该是搜索关键字,能把用户想要的博文列表丢过去,当然基础功能也不错 三.优化搜索结果 试玩发现回复结果与查询关键字的相关度不大...$re_count")); 从db_wp_posts表中已发布的文章中找出标题和内容与关键字匹配的,并加权(标题权重2,内容权重1),再降序排列,取前$re_count个查询结果 注意,这里用到了SQL

    4.1K20

    快收藏SQL 查询优化技巧

    定位 处理慢SQL查询的第一步是找到慢查询。Ashley已经在之前的博客里面赞扬了调试插件Query Monitor,而且这个插件的数据库查询特性使其成为定位慢SQL查询的宝贵工具。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

    4.9K50

    必备 SQL 查询优化技巧,提升网站访问速度

    此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...让我们深入了解查询的更多信息。 把 MySQL 当作朋友 MySQL有一个很方便的语句DESCRIBE,它可以输出表结构的信息,比如字段名,数据类型等等。...如果您有大量数据和许多不同的自定义帖子类型,WordPress可能会在wp_posts表上减慢查询速度。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

    4.8K80

    使用 PostMeta 提速 WordPress 插件

    我在我的 Bluehost 空间安装这个插件的时候,几次因为这个插件 SLOW SQL 搞的 CPU 超限而被 Suspend 了几分钟,狂晕。...是的,这个插件是使用了一条效率很低的 SQL,因为根据 Tag 来查找相关日至要对所有的 Post 扫一便,看看是不是有相同的 Tag。...我想了很久,还是没有想到效率更高的缓存,大学的时候 SQL 还是学得不错,但是现在基本都不懂了,汗!...既然没有想到效率更高的 SQL,我想到的第二个方法是缓存,第一个方法是可以使用 WordPress 对象缓存,但是 WordPress 2.5 已经全部采用内存缓存而舍弃了文件缓存,如果主机没有安装内存缓存模块...不过我这里使用的是 PostMeta 来缓存。 我们知道,PostMeta 表是用来存储 Post 其他自定义字段,比如你可以在 WordPress 编辑界面自定义字段那里使用它。

    38220

    Meta Box:一个被名字耽误的强大的WordPress自定义字段插件

    有两种方式: 通过函数来获取数据 Meta Box 提供了一个辅助函数rwb_meta()用来获取指定field的值,本质上这个函数是对WordPress自身函数get_post_meta的一层封装。...如果想要在主题中显示出设置的自定义字段,使用函数的用法如下: $value = rwmb_meta( $field_id ); echo $value; 通过短码获取 除了使用函数的方式之外,Meta...支持的字段类型和扩展插件 Meta Box支持多达46中字段类型,应有尽有 ,基本可以满足所有场景的需求,完整列表如下: Autocomplete Background Button Button Group...将自定义动作绑定到button可以实现各种功能,比如一键发布到其他网站、拼写检查、字数统计等等。 HTML字段可以使用HTML代码,所以开发者可以用它来加入一些带有格式的引导介绍。...不像同类其他的插件,你不需要做任何设置,安装之后就可以像原生的restAPI一样来获取自定义字段. 价格 Meta Box 提供免费版和付费的高级功能包,基本上免费的已经很强大够用了。

    4.2K20
    领券