这可能会导致不一致,特别是如果我们在代码中使用查询相关的过滤器,因为你在页面中不期望的帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是从数据库中检索帖子的最佳方式。...WordPress允许我们将-1表示为该参数的合理值,在这种情况下,系统将尝试获取满足定义条件的所有帖子。 这不是一个好的做法,即使我们确信我们只会得到一些结果作为回应。...一方面,我们很少能确定只能得到几个结果。即使我们可以,设置没有限制将需要数据库引擎扫描整个数据库寻找匹配。 相反,限制结果往往使得数据库引擎只能部分扫描数据,这将转化为较少的处理时间和更快的响应。...最后,我们将一个重型数据库查询(使用WP_Query元键)更改为简单直接的查询(调用get_post()),这是一个更好和更有效的方法。...例如,如果我们在用户滚动我们的主页时动态加载更多的帖子,那么最好直接调用其他前端页面,这将获得被缓存的好处。 然后,我们可以通过浏览器中的JavaScript来解析结果。
寻找数组中第一个仅重复出现两次的元素的方法实现 在编程领域,经常会遇到需要从一个数组中找出特定模式的元素的情况。...在本篇博客中,我们将探讨如何实现一个方法,该方法能够在给定的整数数组中,找出第一个仅重复出现两次的元素。如果数组中不存在这样的元素,则方法将返回null。...定义一个方法,功能是找出一个数组中第一个只重复出现2次的元素,没有则返回null。...例如:数组元素为 [1,3,4,2,6,3,4,2,3],重复两次的元素为4和2,但是元素4排在2的前面,则结果返回4。...最终,我们输出value的值,即数组中第一个仅重复出现两次的元素。 总结 通过这段代码,我们成功地找到了数组中第一个仅重复出现两次的元素,并将其值输出。
我之前也通过各种方式实现了0SQL,其中应用到了 Autumn Pro 和免费的 Sweet 主题上,现在官方实现了 WP_Query 数据库查询缓存,对 WordPress 整个性能提升肯定有显著的帮助...WP_Query 实现数据库查询缓存 WordPress 6.1 改进了 WP_Query 类中数据库查询的执行方式,实现 SQL 查询缓存,这意味着如果多次运行同一条 SQL 查询,查询结果将从缓存中加载...对于未使用内存缓存的站点来说,同个页面中相同的 WP_Query 也也不会重复执行,所以站点性能也会得到一定提升,但是不会那么显著。...初始化菜单中的所有链接对象 WordPress 6.1 还新增了函数 update_menu_item_cache,它支持一个 post 的对象数组参数,然后就会初始化菜单中引用到的文章或者分类的数据缓存...,从上可知,WP_Query 查询结果将会被缓存,这意味着现在调用 get_page_by_title 也将会被缓存,当然所有通过 WP_Query 获取数据的函数也将被缓存。
为什么要搬 原来的博客系统使用的是Typecho,一个轻量、高效、快速的博客系统(至今也是)。...但是Typecho的正式版已经很久没有更新,其中部分功能甚至无法兼容PHP 7;开发版虽然仍在坚持更新,但是也容易与各种过老的插件和主题产生兼容问题,并且社区的活跃度也略低,开发兴趣不高,最终导致的结果就是插件和主题不够多...而现在将全站迁移至WordPress也是无奈之举,一方面是更好的生态,意味着更多插件和主题选择,减少了重复造轮子魔改程序的情况,另一方面是WordPress有更频繁的更新频率,漏洞和Bug能更快得到修补...由此带来的反面结果就是,大量的apply_filters函数拖慢了页面加载时间。...以本博客为例,在Blackfire中可以看到,apply_filters函数被调用了近600次,耗费了200ms时间,但是很不幸,目前没有办法解决,只能希望WordPress在后续版本中优化性能。
> 当然,使用哪种方法完全由个人习惯决定,不过我认为用数组更为方便,原因如下: 便于阅读,可以利用if语句更轻松地给数组添加条件,以动态生成查询一些查询参数(某些使用频率较低的参数,如分类参数和标签参数...你可以按文章类型调用自己想要的日志、页面或附件。 对附件的调用可能是最有趣但同时被使用频率也是最低的一个。...抓取所有文章 你可以用几种不同的方法在网站地图和存档页等需要显示所有已发布文章的地方调用所有文章。 要调用所有已发布的文章,可以使用下面的这段代码: 和过滤器(filter) Query_posts函数一个鲜有人知的功能就是,你可以用它勾入已生成的查询。 这种行为可能有些冒险,不过实用价值很高。...不显示某些文章(隐藏重复内容) 最后这个方法曾经在WebLogToolsCollection上出现过。 其原理是当用户在某一个页面上使用多个WordPress循环时,用代码阻止重复内容被链接。
今年 10 月,我们收到了来自 GiaoHangTietKiem JSC 的 ngocnb 和 khuyenn 的报告,涉及 WordPress 中的 SQL 注入漏洞。...首先,这是一个演示该漏洞的快速视频: 漏洞 该漏洞发生在 WordPress Query ( WP_Query ) 类中。WP_Query对象用于对 WordPress 数据库执行自定义查询。...插件和主题使用此对象来创建他们的自定义帖子显示。 当插件使用易受攻击的类时,就会出现该漏洞。一个这样的插件是Elementor Custom Skin 。...这意味着do_action方法调用get_document_data方法。 get_document_data方法创建一个WP_Query对象。...今年早些时候的情况就是这样,当时 Fancy Product Designer 插件中的一个错误被报告为受到主动攻击。
自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能。WP_Query怎么用呢?...> WP_Query 这个万能的文章查询类,有人把 WP_Query 所有的参数做了一个总结,然后注释了一下,供有需要的朋友查阅使用。 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数 'nopaging' => false...通常在页面中使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框中的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0)....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 WP_Query 这个万能的文章查询类,有人把 WP_Query 所有的参数做了一个总结,方便后期开发查阅. 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数 'nopaging' => false...通常在页面中使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框中的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0)....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
但是今天感觉找到了个不错的办法:在首页隐藏部分文章。目前的逻辑是:隐藏所有“每周歌词”分类的文章,但是显示最新一篇和标“推荐”的文章。为了实现这个操作,我做了多种不同的尝试。...这个操作发生在构造查询对象后、解析查询对象(WP_Query)前,所以可以对查询对象进行修改。而且由于这是一个Hook,因此不会对主题代码有任何的侵入,相对可控。...显然写三个filter修改有点傻,所以我找到了另一个Hook点posts_clauses,可以得到所有SQL子句。...不过虽然这样代价可接受、功能也可实现,但是直接修改SQL还是不甚完美,而且这样也假设了首页获取文章是第一个进行的查询操作。...后记 最后我选择了尝试3提到的方法,虽然还是有一些缺点,但是起码保证了功能和效率。同时也顺便用Code Snippets插件统一管理了现有的Patch代码,不用再改主题的function.php了。
,说的有道理的我会更新到帖子中,现在开始正题; Python与我 最早使用Python是16年,当时工作主要是Android开发,负责导航部分,当时经常会在调试功能时展示路网数据、导航位置数据等,但是这样调试成本是比较大的...,从此一发不可收拾,到现在,基本任何一件过于重复性的工作,基本都会通过脚本完成,比如最近的一次是在5w个文件中通过一个csv文件中的数据提取出其中的3w个,当然实现的办法很多,但是不得不说,Python...Python脑子里第一条就是它,一家之言哈,大家也可以分享下自己脑子里Python的第一个特点是啥; 代码: #计算抛1000枚硬币得到正面的概率 sum([int(round(random()))...#根据中心极限定理,这个值随着次数的增加会愈加集中到理论值0.5附近 看看,真的很爽,虽然项目中不建议这么用,但是用在脚本中时候,那还不是自己说了算,脚本嘛,爽就得了呗对吧(PS:注意最后一个1000后面跟着一个...心里的苦都没地方诉说,xD; 第三回 在循环中,一般处理是循环下标,通过下标索引元素,那么如果我循环得到的就是元素呢,看看Python是如何同时得到下标和元素的; 代码: a = [8, 23, 45
在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。 使用了MQ之后,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。 三、什么时候不使用消息总线 ?...既然MQ是互联网分层架构中的解耦利器,那所有通讯都使用MQ岂不是很好?这是一个严重的误区,调用与被调用的关系,是无法被MQ取代的。...MQ的不足是: 1)系统更复杂,多了一个MQ组件 2)消息传递路径更长,延时会增加 3)消息可靠性和重复性互为矛盾,消息不丢不重难以同时保证 4)上游无法知道下游的执行结果,这一点是很致命的 举个栗子:...50分钟 3)task3,2:00执行(为task2预留10分钟buffer) 这种方法的坏处是: 1)如果有一个任务执行时间超过了预留buffer的时间,将会得到错误的结果,因为后置任务不清楚前置任务是否执行成功...,模块之间都不相互依赖 3)新增一个下游消息关注方,上游不需要修改任何代码 典型场景三:上游关注执行结果,但执行时间很长 有时候上游需要关注执行结果,但执行结果时间很长(典型的是调用离线处理,或者跨公网调用
要在WordPress中随机调用当前文章同分类下的相同标签的10篇文章,你可以使用以下代码。这段代码将会获取当前文章的分类和标签,然后查询同分类下具有相同标签的10篇随机文章。第一个标签作为查询的基础 $tag_id...>这段代码首先获取当前文章的ID,然后获取其分类和标签。接着,它构建一个查询参数数组,其中包含了限制文章数量、指定分类、指定标签ID、排除当前文章以及随机排序的设置。...使用`WP_Query`执行这个查询,最后循环输出查询到的文章标题和链接。请注意,这段代码假设当前文章至少有一个分类和一个标签。如果当前文章没有分类或标签,代码将输出相应的信息。...此外,代码中使用了`shuffle`函数来随机化标签数组,并使用数组的第一个元素作为查询的基础,这是因为我们只需要一个标签来找到相关文章。
最近Reddit的一个帖子引起热议。 近日,Reddit 上有一个热帖:为什么 PyTorch 和 TensorFlow 一样快 (有时甚至比 TensorFlow 更快)? ?...因此,在这里,TensorFlow 不会在 Python 上花费额外的时间,而且它在 C++ 中有一个优化的实现。在这种情况下,为什么 TensorFlow 版本没有更快一些呢?...我的理解是,在默认情况下,PyTorch 中的执行是异步的。这意味着 Python 命令在 GPU 上执行某项调用,但不等待该调用的结果,除非下一个操作需要该结果。...是第一个而不是最后一个?...我想主要的答案是人们尝试了,但是由于各种原因,一些政治上 / 技术上的原因,我们目前已经把 batch size 作为第一个维度确定下来。
新智元报道 来源:Reddit 编辑:小芹 PyTorch可以和TensorFlow一样快,有时甚至比TensorFlow更快了?这是怎么回事?最近Reddit的一个帖子引起热议。...因此,在这里,TensorFlow 不会在 Python 上花费额外的时间,而且它在 C++ 中有一个优化的实现。在这种情况下,为什么 TensorFlow 版本没有更快一些呢?...我的理解是,在默认情况下,PyTorch 中的执行是异步的。这意味着 Python 命令在 GPU 上执行某项调用,但不等待该调用的结果,除非下一个操作需要该结果。...是第一个而不是最后一个?...我想主要的答案是人们尝试了,但是由于各种原因,一些政治上 / 技术上的原因,我们目前已经把 batch size 作为第一个维度确定下来。
新的默认主题:Twenty Twenty-Three 根据 WordPress 的传统,今年的最后一个版本将附带一个名为Twenty Twenty-Three的新默认主题。...核心贡献者在推特上写道: “在 WordPress 6.1 中,数据库性能有了巨大的提升。WP_Query 中的数据库查询现在被缓存。...这应该会减少数十亿次重复的数据库查询” 还公开了一份开发说明草案,其中包含有关缓存的更多信息: “WordPress 6.1 改进了在 ‘WP_Query’ 类中执行数据库查询的方式,以便将数据库查询的结果缓存在对象缓存中...这意味着如果多次运行同一个数据库查询,结果将从缓存中加载。 对于那些使用持久对象缓存的人来说,这意味着在缓存失效之前,数据库查询将不会再次运行,从而导致对数据库的查询非常少。”...但这并不罕见,因为每个版本都包含数百项改进,最重要的通常会在正式发布当天包含的。
你会在主题集中找到WP Start。 继续并激活此主题,然后访问该站点。瞧!从技术上讲, 你自己创建了一个自定义主题。当然,它除了有一个空白的屏幕之外什么都不做。...你的自定义 WordPress 主题的第一个外观已准备就绪。 循环 这是整个 WordPress 主题开发中最令人兴奋的部分, 你可以控制所有帖子。...> 如果有任何帖子,而没有剩下的,显示它们。此循环中的任何内容都将重复,直到页面用完所有帖子。我们可以使用这个概念来显示我们的列表。这就是我的做法。...每次页面有帖子时, index.php 中的循环都会调用 content.php 。在 content.php 中,我检查了当前帖子是否为 is_single()。...最后,我使用了相同的 is_single()概念来显示帖子的 the_excerpt()或 the_content()。 看,就是这么简单有趣。现在有了一点魅力 CSS,我得到了以下结果。
: WP_Query是定义于 wp-includes/query.php 中的一个用于处理复杂的请求wordpress博客中文章或页面的类。...WP_Query是wordpress提供的一个类,它支持的参数和方法非常丰富,通过各种给组合查询参数,几乎所有的文章查询都可以通过这个类实现。...Display Posts这个插件其实是对WP_Query 类做的一层高级封装,让用户可以不必手写复杂的WP_Query查询就可以得到想要的过滤结果。...显示相对日期 显示效果如下: ---- WordPress 和 Vue.js 的学习资源推荐 1 month ago ---- 显示文章中的图片 如果你想把文章的特色图片实现出来,只需要在短码中增加一个参数...,也可以通过增加wrapper="div" 把每一个结果都包如一个div标签中,以便更好的结合其他工具进行自定义CSS,通过这种方式可以把结果显示成表格、栅格(Grid)等等其他形式,可以玩出花来。
前言 大家好,我是程序员田螺。今天我们一起来聊聊幂等设计。 什么是幂等 为什么需要幂等 接口超时,如何处理呢? 如何设计幂等? 实现幂等的8种方案 HTTP的幂等 1. 什么是幂等?...计算机科学中,幂等表示一次和多次请求某一个资源应该具有同样的副作用,或者说,多次请求所产生的影响与一次请求执行的影响效果相同。 2....为什么需要幂等 举个例子: 我们开发一个转账功能,假设我们调用下游接口超时了。一般情况下,超时可能是网络传输丢包的问题,也可能是请求时没送到,还有可能是请求到了,返回结果却丢了。...第1次请求来时,bizSeq流水号是 666,该流水的状态是处理中,值是 1,要更新为2-成功的状态,所以该update语句可以正常更新数据,sql执行结果的影响行数是1,流水状态最后变成了2。...比如:POST http://www.tianluo.com/articles的语义是在http://www.tianluo.com/articles下创建一篇帖子,HTTP 响应中应包含帖子的创建状态以及帖子的
首先是搜索,需求其实是用 Python 写图形界面的计算器,搜索时要体现: 搜索出的结果可能前几项是广告,直接忽略掉; 在选择要参考的帖子时,首先根据发帖时间优先选择近期发布的最好附带源码和说明的,进入帖子后顺便看一眼评论区有没有反馈报错...= 0 # 保留栈顶的数值 self.res = 0 # 保留计算结果,看计算器计算一次后,在继续按等号,还会重复最近一次的计算1+2,得到3之后,在按等号就是3+2, 以此类推...# >先计算, 为什么同样的符号改成了后计算, 是为了方便做一项操作, # 就是在你计算一个表达式之后,在继续按住等号, 以及会执行最后一次的符号运算...,__init__ 中 super() 的调用等。...即当我们点击计算器数字按钮或运算符时,会在显示框内显示该数字或运算符;当点击“=”时,会进行系列运算将结果输出。 代码下载 按这个顺序过一遍源码,就对代码整体的思路和结构有了一定掌握。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...第四讲关于查询特定状态的文章,文章状态只有 post_status 这一个参数,可以是字符串或者数组。...如果是在后台运行(后台或者AJAX调用)的话,受保护属性的状态的文章也会被获取,默认受保护属性的文章状态有 'future', 'draft' 和 'pending'。...'any' – 获取除了 'inherit', 'trash' 和 'auto-draft' 状态的文章,如果有自定义文章状态,并且它的 'exclude_from_search' 属性为 true,这类状态的文章也会被获取