显示5000个帖子标题的最快方式?

时间:2018-10-13 作者:Michael Rogers

我想在其存档中显示所有CPT标题。我不想使用分页。所有必须在1页。有5000个职位。在归档循环中重复\\u标题是可行的,但速度很慢。最快的显示方式是什么?可能使用SQL wpdb->get\\u结果?

2 个回复
SO网友:Michael Rogers

在我看来,从我在测试中看到的情况来看。使用任何WordPress功能都会大大降低速度。我发现最快的方法是直接查询MySQL并只获取所需的内容。

例如:

$products = $wpdb->get_results( "SELECT post_title, post_name FROM `wp_posts` WHERE post_type = \'products\'", ARRAY_A );

    echo \'<ol>\';        

        foreach ($products as $product) {               

        echo \'<li><a href="https://domain.com/products/\'.$product[\'post_name\'].\'/">\'.$product[\'post_title\'].\'</a></li>\';

        }        

    echo \'</ol>\';
它只需几毫秒(200 ~)就能完成1600篇帖子,而使用WordPress只需几秒钟(3 ~)。

SO网友:Michael Rogers

另一种解决方案是(如果必须使用WordPress循环)实现对象缓存以缓存查询。这将使昂贵的查询只运行一次,因此下次请求页面时,生成页面的速度会快得多。

结束

相关推荐

使用SQL删除除特色图像之外的所有帖子元

请注意,我刚刚迁移了我的站点,我发现wp\\U Posteta消耗了我大部分的cpu资源,是用来删除所有帖子元(除了特色图片)的任意Sql代码。我不想为此使用wp函数。只需要phpmyadmin sql代码。我读过类似的Post, 但我需要的是sql代码,不是函数