Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WordPress:不同的WP_Query用法:哪个是正确的,在哪个上下文中?

WordPress:不同的WP_Query用法:哪个是正确的,在哪个上下文中?
EN

Stack Overflow用户
提问于 2013-02-13 17:03:07
回答 1查看 1.1K关注 0票数 1

我一直在用两种不同的方法创建自定义WordPress循环,这两种方法都涉及创建WP_Query对象的一个新实例。我通常在一个页面上有多个循环。

我不明白这两种方法有何不同,哪种方法是正确的。

方法1:Query

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ) : $the_query->the_post();
        // output
    endwhile;
endif;

wp_reset_postdata();

方法2:postdata

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$original_query = $wp_query;
$wp_query = null;

$wp_query = new WP_Query( $args );
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        // output
    endwhile;
endif;

$wp_query = null;
$wp_query = $original_query;
wp_reset_postdata();

这两种方法产生的结果似乎是相同的,但是当我打开WP_DEBUG时,我看到了第二种方法的错误,例如:

注意: is_singular被错误地调用。在运行查询之前,条件查询标记无法工作。

我的问题是:

  • 什么时候应该使用$original_query = $wp_query;方法?
  • 存储和恢复$wp_query的相关性是什么
  • 当我使用错误消息时,为什么要返回它?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-13 18:07:36

一些核心函数--一些分页函数,例如(here is an example where this seems to have been a factor)--假定$wp_query值。如果没有设置这些函数,则不起作用。您可以通过保存原始$wp_query、运行自定义循环和将$wp_query放回来欺骗。我认为这很少是最好的方法,如果您确实认为需要这样做,那么您应该使用pre_get_posts或其他过滤器来修改主查询本身,而不是进行新的查询。我不会发誓绝对没有合适的情况,但我确实认为通常有更好的方法。

当我尝试时,您的代码不会触发任何通知,但是如果您这样做,它会:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$original_query = $wp_query;
$wp_query = null;
if (is_single()) {
  echo 'single post';
}
$wp_query = new WP_Query( array('posts_per_page' => 5) );

is_singleis_archive等函数依赖于已未设置的全局$wp_query对象。我想在这种情况下你会看到通知的。

大多数您需要参考的东西都是在http://core.trac.wordpress.org/browser/trunk/wp-includes/query.phphttp://core.trac.wordpress.org/browser/trunk/wp-includes/post-template.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14866154

复制
相关文章
如何使用DNS和SQLi从数据库中获取数据样本
泄露数据的方法有许多,但你是否知道可以使用DNS和SQLi从数据库中获取数据样本?本文我将为大家介绍一些利用SQL盲注从DB服务器枚举和泄露数据的技术。
FB客服
2019/03/08
11.5K0
如何使用DNS和SQLi从数据库中获取数据样本
Jquery 使用getJSON 获取json数据
1.先引用jq获取下载到本地 CDN地址:https://code.jquery.com/jquery-latest.js
Alone88
2019/10/22
3.5K0
【笔记php】如何使用PHP从JSON提取数据?
2022年8月26日16点36分 如何使用PHP从JSON提取数据? 不多bb,直接上示例 一 $Json = ' { "type": "fish9.cn", "name": "fish9.cn" }'; $fish = Json_decode($Json,true); echo $fish["type"]; //结果fish9.cn 二 $Json = '{ "type":"fish9.cn", "name":"fish9.cn", "daily":[{
吃猫的鱼Code
2023/02/02
4.9K0
19.JAVA-从文件中解析json、并写入Json文件(详解)
json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快.
诺谦
2019/12/19
12.1K0
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.3K0
根据bed文件从fasta文件中获取基因
第一次写博客,分享一个做的提取基因序列的程序,根据bed文件里的位置信息从基因组里提取序列
py3study
2020/02/10
2.7K0
如何从机器学习数据中获取更多收益
对于深度学习而言,合适的数据集以及合适的模型结构显得至关重要。选择错误的数据集或者错误的模型结构可能导致得到一个性能不佳的网络模型,甚至可能得到的是一个不收敛的网络模型。这个问题无法通过分析数据得到很好的解决,只能是通过一次次的制作数据集、搭建模型并进行仿真实验才能发现如何最好地利用数据集以及选取什么样的模型结构。  本文讲解一些有关于数据集的实用知识,通过本文你将了解以下三点:
用户3578099
2019/08/16
8.3K0
python-获取URL中的json数据
数据源为某系统提供的URL,打开是json文件,python代码获取如下: URL替换成自己的即可。 import urllib.request def get_record(url): resp = urllib.request.urlopen(url) ele_json = json.loads(resp.read()) return ele_json if __name__ == '__main__': print(get_record('http://abc.co/
py3study
2020/01/16
5.5K0
PowerBI从Onedrive文件夹中获取多个文件,依然不使用网关
整个过程的PQ底层逻辑很清楚,使用一个示例文件作为函数,然后用这个函数遍历文件夹中的所有文件,最终将结果合并到一张表中:
陈学谦
2020/05/07
6.9K0
JSON数据获取指南!
在互联网时代,数据是金钱的来源。然而,要从海量的网页中提取需要的数据并不容易。本文将带你了解如何使用Node.js编写简易爬虫程序,帮助你轻松获取并处理JSON数据,让你不再为数据发愁。
用户614136809
2023/09/25
3840
在shell程序里如何从文件中获取第n行
有没有一种“规范”的方式来做到这一点?我一直在使用 head -n | tail -1,它可以做到这一点,但我一直想知道是否有一个Bash工具,专门从文件中提取一行(或一段行)。
程序熵
2023/09/25
4620
在shell程序里如何从文件中获取第n行
jsonp获取json数据
这两天做微信端JS接口,当时遇到的第一个问题就是权限验证的参数请求,当你请求access_token等的时候,就会存在跨域问题:然后在网上查了,采用ajax的jsonp进行跨域请求,后来报错了,返回的结果错误。然后认真看了一下文档,发现ajax的jsonp返回的数据是callback(json),卡到这里。最后同时为了安全的考虑,我就将这一部分的权限验证参数在后端做,然后前端请求,这样就避免了跨域,同时将安全考虑进去了。
Rattenking
2021/01/29
2.4K0
php – 通过curl从url获取JSON数据「建议收藏」
我试图通过curl连接从URL获取JSON数据.当我打开链接时:它显示{“version”:“N / A”,“success”:true,“status”:true}. 现在,我希望获得以上内容.
全栈程序员站长
2022/07/11
4K0
mysql 从json字符串中获取指定的key:
SELECT SUBSTR(detail,    LOCATE('"email"',detail)+LENGTH('"email":"'),    LOCATE('",', detail,LOCATE('"email"',detail))-(LOCATE('"email"',detail)+LENGTH('"email":"'))) AS email FROM tb_sync_moka2oa_full_detail where moka_id in ( 62923,    64242,    66971,    67197,    67198,    67304,    74124) and is_delete = 0 order by id desc limit 50  ; 虽然mysql 5.7之后支持 JSON_EXTRACT 了,我测试了下好像不行
凯哥Java
2022/12/16
7.3K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
在 汪洋怡舟的这篇文章中【http://www.cnblogs.com/longren629/archive/2007/03/14/674633.html】只使用了一个数据表,效果如图2
跟着阿笨一起玩NET
2018/09/19
6.5K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
typescript中如何直接引入json文件
这是一个单独的文件, 只是引入一个json文件, 使用typescript编写, 发现require关键字出错
cg错过
2020/11/23
8.9K0
typescript中如何直接引入json文件
从损坏的手机中获取数据
有时候,犯罪分子会故意损坏手机来破坏数据。比如粉碎、射击手机或是直接扔进水里,但取证专家仍然可以找到手机里的证据。
FB客服
2020/02/23
10.2K0
如何使用python把json文件转换为csv文件
这里有一段json格式的文件,存着全球陆地和海洋的每年异常气温(这里只选了一部分):global_temperature.json
孙晨c
2021/03/16
8.2K0
如何使用python把json文件转换为csv文件
点击加载更多

相似问题

如何获取json文件中的一些数据?

117

如何使用getJSON从json文件中获取数据

13

如何使用Observable从文件中获取json数据

129

如何使用angularjs从json文件中获取数据

13

如何使用ajax从json文件中获取数据

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文