Get_the_id、Get_the_PerMalink和Get_the_title只需一个数据库调用即可完成

时间:2019-06-21 作者:Richard Zack

我们正在尝试优化一个流量大的WP站点,并正在寻找一种只需一次查询即可获取这三个WP功能数据的方法,以减少查询和;DB服务器上的负载:

$wpid=get_the_ID();
$title=get_the_title($different_post_id);
$perma=get_the_permalink($different_post_id);
这可能吗?

EDIT——调整了上面的示例代码,以正确指示在本例中,我们正在获取不同post\\u id的标题和永久链接,而不是get\\u the\\u id()返回的标题和永久链接;

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

这些函数甚至不会在每次运行时调用数据库。它只是将它们从检索帖子的数据库查询返回的当前帖子对象中提取出来。这里没有什么可优化的。

get_the_ID()get_the_title() 照字面意思就是回来$post->ID$post->post_title. get_permalink() 有点复杂,因为它需要根据permalink设置等进行逻辑运算,以确定URL应该是什么,但它不需要额外的数据库调用。

WordPress没有得到很好的优化,因此您需要对这些功能进行任何操作。如果是文档告诉您如何做,以及默认主题是如何工作的,那么就很好了。

如果您担心站点的速度,请安装Query Monitor 在确定目标之前,至少要检查实际进行了哪些查询。

相关推荐

Performance on WPMS

我的WPMS站点托管在8核/32mb RAM服务器上,但响应时间非常长。我们有大约1000个博客(单个db上有35000多个表)和70000个页面浏览量。我认为我可以缩短响应时间,将具有更多页面浏览量的博客移动到单独的DB中,并使用hyper DB插件将所有博客拆分为每个DB 100个博客。你觉得怎么样?