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

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

WordPress 中,使用 WP_Query 进行文章查询是最常见操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章目的也是为了方便自己使用这些参数时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...meta_value – 按照自定义字段排序,请先确保在查询中已经设置了 meta_key,额外要注意,是按字母顺序排列,这对于字符串来说没有问题,但对于数字可以结果不是你预期,(例如结果是 1、3...post__in – 按照 post__in 参数中给出文章 ID 顺序进行排序,注意使用 post__in,order 参数值无效。

1.5K30

WordPress是怎么设计扩展字段

WordPress中,有一个直接可用方式来添加自定义字段,那就是使用自带“自定义字段”功能。 WordPress允许用户为文章、页面、分类目录等添加自定义字段。...使用自带自定义字段功能优点是直接可用,无需安装插件,操作简单,可以满足一些基础扩展需求。 当然,自定义字段也有局限。...需要注意是,为了提高查询效率,用户可以为自定义字段添加索引。例如,如果用户经常查询某个自定义字段值,可以为meta_key字段添加一个普通索引,以便加快查询速度。...安全性:自定义字段设计应该考虑数据安全性和隐私性,例如加密、权限控制等。 性能优化:自定义字段设计应该考虑查询性能和响应时间,例如添加索引、合理使用缓存等。...总之,自定义字段是WordPress字段扩展一种常用方式,它表设计采用wp_postmeta表,包括meta_id、post_id、meta_key和meta_value字段。

18820
您找到你想要的搜索结果了吗?
是的
没有找到

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

WordPress 中,使用 WP_Query 进行文章查询是最常见操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章目的也是为了方便自己使用这些参数时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...简单自定义字段查询 获取自定义字段 key 是 'color',而 value 则任意值都可文章: $query = new WP_Query( array( 'meta_key' => 'color...meta_query 时候,需要传递嵌套数组,即使只有一个自定义字段查询时候,也是一样。

98510

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

几乎所有文章浏览统计插件,比如 WPJAM Basic 「文章浏览统计」扩展,都是使用自定义字段来存储文章浏览数,如果服务器开启了 Memcached 内存缓存,自定义字段数据是怎么被缓存呢?...WordPress 默认自定义字段缓存方式 WordPress 会以 $post_id 作为 cache_key,'post_meta' 作为 cache_group 整体进行缓存。...而每次文章浏览,这个自定义字段数据都会加 1,这样,每次自定义字段缓存都会更新,然后就会造成每个页面会多出三个 SQL 查询。 有没有办法解决这个问题呢?...使用内存缓存优化文章浏览统计效率 我们可以把文章浏览统计先缓存到内存中,每次增加10次浏览才写入数据库中去,这样就可以极大地降低 WordPress 操作因为自定义字段变更而造成 SQL 查询次数。...', function($check, $post_id, $meta_key, $meta_value){ if($meta_key == 'views'){ if($meta_value %

30020

WordPress可拓展性初探(一)

然而在这样一个工程中,它可拓展性是从何而来呢?下面的篇幅尝试从两个方面简单介绍WordPress可拓展性。...这两个方面不仅可以帮助我们编写WordPress插件,同样可以帮助我们设计具有可拓展性架构。 1....我们可以尝试使用行列转换思路,把原来表中行转换成列,把原来表中列转换成行。 在WordPress中有一个表专门用于存储文章元信息,名称叫做 wp_postmeta 。...,查询时也要牵扯到两个表结合,会拖慢数据库执行效率。...最后是数据库结构检查,一般情况下,我们可以利用 NOT NULL 来规定某一列必须有一个值,而使用上面提到方式,就必须由Web应用程序来进行这样检查了。

83090

WordPress自定义查询:WP_Query使用

wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要内容,相当于自定义数据调用。 wordpress主循环 <?...//注意:使用 get_query_var('page'); 如果查询在设置为首页页面模版中工作查询参数 'page' 拥有文章分页或内容中使用 <!...//'meta_value' - 注意'meta_key=keyname' 必须也出现在查询中. 注意排序是按照字母表顺序进行。...//'meta_value_num' - 根据数字meta值排序 (2.8和以后版本中可用). 同时需要注意'meta_key=keyname' 也要在查询中声明。...通过设置这个参数为真,我们告诉了了WordPress不要查询数据总行数,从而降低数据库负载,如果设置了这个参数为真,分页将不工作,更多信息请参考:http://flavio.tordini.org/speed-up-wordpress-get_posts-and-query_posts-functions

1.4K20

WPJAM MetaData:可视化管理 WordPress Meta 数据

我前面发布 WordPress 配置器,其中一个很重要功能就是让你更灵活方便使用 Post Meta 和 Term Meta,只要用会和用好它,你就才真正掌握 WordPress 精髓。...那么你 WordPress 就开始非常慢了。 所以 WordPress Meta API 一直存在直击灵魂三连问: 系统用了哪些 Meta 字段? 每个 Meta 字段被使用了多少次?...每个 meta_key 使用数量。...这样我们就能对自己系统情况了然于胸了,并结合目前系统状态,如果哪个 meta_key 已经不再使用,就可以点击删除,就可以把使用meta_key 所有 Meta 数据都删除。...这里点击 meta_key 过滤之后列表,和前面汇总模式下点击查看进入列表式样

77740

WordPress SQLi谈PHP格式化字符串问题

其中 [2d70a62b-38ba-4a11-82e6-175abfcf3391.png-w331s] 图片post_id被带入查询,$wpdb->prepare中使用了sprintf,会做自动类型转化...= 'payload' 之后这条语句会进入查询,结果为真代码才能继续,所以要修改_thumbnail_id对应meta_value值为payload,保证有查询结果。...此问题可能仍会出现在WordPress插件,原文评论中也有人提到曾在Joomla中发现过类似的问题。而其他使用sprintf进行字符串拼接cms,同样可能因此导致SQL注入和代码执行等漏洞。...= %s $value_clause", $meta_key ) ); } 如果输入 $meta_value = ' %s '; $meta_key = ['dump', '...在WordPress 4.8.3补丁中,一是修改了meta.php中两次使用prepare()问题,二是使用随机生成占位符替换%,在进入数据库前再替换回来。

1K110

使用内存缓存优化 WordPress 文章编辑锁定功能

多人作者 WordPress 在后台编辑文章,如果有其他用户也在编辑,在文章列表页会提示下面的信息: WordPress 文章编辑锁定功能 这个就是 WordPress 文章编辑锁定功能,提示当前谁在编辑这篇文章...,如果继续点击进去,WordPress 会再次提示如下信息: 这样就防止多人编辑文章产生了冲突,那么 WordPress 是怎么实现这个功能呢?...WordPress 将当前编辑文章用户ID 和时间戳存到一个叫做 _edit_lock 自定义字段中,然后简单判断现在时间戳减去存储时间戳是否在 150 秒之内,如果是,就显示上面的信息。...使用内存缓存优化文章编辑锁定 所以每次更新文章,WordPress 都会更新 _edit_lock 这个自定义字段,因为这个字段没有其他用途,每次都需要更新,其实也是一种浪费。...对于这类「锁」字段,更好方法是存到内存中,使用内存缓存特性来优化整个过程: 将下面的代码复制到当前主题 functions.php 文件中,就可以使用内存来优化处理这个过程了: add_filter

34520

WordPress 文章查询教程5:如何使用分页相关参数

WordPress 中,使用 WP_Query 进行文章查询是最常见操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章目的也是为了方便自己使用这些参数时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...注意:如果 feed 中,则 WordPress使用存储 "posts_per_rss" 选项覆盖此参数。...使用“较早文章”链接时,显示通常仅在X页上显示文章。 page (int) – 静态首面的第几页,显示通常仅在静态首页第X页上显示文章。

1.1K20

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

' => 10, //(整数) - 每页显示文章数量 (2.1和以后版本可用), 使用'posts_per_page'=-1 显示所有文章,如果查询处于订阅源中,WordPress用 'posts_per_rss...//注意:使用 get_query_var('page'); 如果查询在设置为首页页面模版中工作查询参数 'page' 拥有文章分页或内容中使用 <!...//'meta_value' - 注意'meta_key=keyname' 必须也出现在查询中. 注意排序是按照字母表顺序进行。...//'meta_value_num' - 根据数字meta值排序 (2.8和以后版本中可用). 同时需要注意'meta_key=keyname' 也要在查询中声明。...通过设置这个参数为真,我们告诉了了WordPress不要查询数据总行数,从而降低数据库负载,如果设置了这个参数为真,分页将不工作,更多信息请参考:http://flavio.tordini.org/speed-up-wordpress-get_posts-and-query_posts-functions

3.9K41

WP常用SQL总结

wp_users:存储用户信息   删除残留垃圾数据 使用WordPress经常换主题删主题,装插件删插件很正常,但是简单删除并不彻底,数据库会有残留,多余数据保留在post_meta表格里,久而久之就成了一堆可观垃圾...可使用下面的SQL语句来清除不需要postmeta值。有益于加快数据库运行速度,减小数据。...执行SQL语句 DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock'; DELETE FROM wp_postmeta WHERE meta_key...= '_edit_last'; 删除草稿修订版本 在WordPress后台中编辑文章时,系统会自动保存许多修订副本。...处理未使用标签 在WordPress数据库中,如果你使用一个查询语句手动来删除旧文章,旧标签却仍然会保留并在你标签云/列表中出现。你可以使用下面的方法识别未使用标签并将它删除。

34630

使用 WordPress Transients API 缓存复杂 SQL 查询和运算结果

什么是 WordPress Transients API Transients 是瞬时意思,WordPress Transients API 是 WordPress 用来缓存一些复杂 SQL 查询和运算结果最简单方法...WordPress Transients API 函数 上面说到服务器没有开启时候,数据是存储到 Options 表中,所以它接口函数和 WordPress Option API (get_option...delete_transient() // 从缓存中删除一个临时数据 如果你使用函数 get_transient 去获取一个临时变量,它已经过期或者不存在,则返回 false。...WordPress Transients API 例子 假设你要获取博客流量最高 10 篇文章,这个要设计复杂 SQL 查询,而流量最高 10 篇文章一般来说在一段时间(比如:12小时)之内是不会变化...如果由于某种原因某篇流行文章删除,或者新文章发布了,这个时候可能流量最高文章都可能发生变化,我们需要使用 delete_transient 函数把这个临时变量删除了。

91310

常用MySQL语句搜集整理

折腾 WordPress 多少要接触到 MySQL 一些操作,比如,玛思阁之前重装 postview 插件后发现所有的 view 数据都被清空了!...只好到 phpMyAdmin 后台去进行 wp_postmeta 表部分数据恢复,其中就会用到下文【根据条件导出 mysql 指定表】方法,将 meta_key=views 栏位对应 meta_value...根据条件导出 mysql 指定表(即部分数据导出,WordPress 网站应该用得到): mysqldump -h mysql服务器IP -u用户名 -p密码 数据库名表名 --where="筛选条件...">导出文件路径; 恢复方法:先用 “use dbname” 选定数据库,然后使用 “source sql 文件路径”命令即可恢复。...例:从 wp_blog 数据库 wp_postmeta 表中导出 meta_key=views 数据到 /home/xyx/Temp.sql 这个文件中 mysqldump -uroot -p123456

78550

怎么批量删除WordPress自定义栏目?

​ 怎么批量删除WordPress自定义栏目?ordPress自定义栏目功能强大,我们可能利用该功能使主题实现特殊功能和效果,如调用显示指定图片和内容等。...但不同主题所使用自定义栏目也不同,当你更换主题后这些自定义栏目数据会继续留在数据库中成为垃圾数据,如果文章较多手动删除这些自定义栏目不现实,其实只需下面的一段代码,即可批量删除这些自定义栏目。...` = '自定义栏目名称'" ); 2、之后,指定删除自定义栏目会自动从数据库中被清理掉。...4、WordPress自定义栏目的批量删除: DELETE FROM wp_postmeta WHERE meta_key = "栏目名称"; 5、自定义栏目的名称替换 UPDATE wp_postmeta...SET meta_key = replace( meta_key, '旧名称','新名称') ; 6、自定义栏目的值替换 UPDATE wp_postmeta SET meta_value = replace

508100
领券