您可以使用Transients API 要缓存整个HTML输出,以便不在每次加载页面时都执行查询,请执行以下操作:
$transient = \'my-300-posts\';
$timeout = 3600; // 1 hour
if ( false === $out = get_transient( $transient ) ) {
$args = array( YOUR ARGS GO HERE );
$posts = get_posts( $args );
if ( $posts ) {
foreach ( $posts as $post ) {
$out .= get_the_title( $post->ID );
$out .= // whatever else you want to output...
}
}
if ( $out ) {
set_transient( $transient, $out, $timeout );
}
}
echo $out;
然而,您仍然在一个页面加载上提供300个帖子缩略图,这需要传输大量数据。
(您还需要删除save_post
和delete_post
挂钩)
也许你最好使用无限滚动?这是Jetpack 插件。