这段代码不是最优的,我正在努力寻找更好的方法。
基本上,您单击一个按钮,该按钮将 ajax 请求发送到下面列出的此文件,该文件从 WordPress 数据库中获取随机帖子。很多时候这些重复并且给人的印象是它不起作用,为了解决这个问题,我检查了当前 id = 旧 id,如果它们相同,则获得一个新帖子,但是我还没有找到在其中运行另一个 wpquery 的方法另一个查询。
<?php
require_once('../../../wp-blog-header.php');
header('HTTP/1.1 200 OK');
?>
<span id="postss"><?php
query_posts(array(
'cat' => 39,
'order' => 'ASC', // ASC
'orderby' => 'rand',
'showposts' => 1,
));
$wp_query->is_archive = true; $wp_query->is_home = false;
if (have_posts()) : while (have_posts()) : the_post();
session_start();
if(!isset($_SESSION['oldId']))
{
$_SESSION['oldId'] = get_the_id();
}else{
$curId = get_the_id();
if($_SESSION['oldId'] == $curId)
{
header("Location: http://website.com/testimonialPull.php");
}else{
the_content();
}
$_SESSION['oldId'] = get_the_id();
}
endwhile; endif;
?>
因此,发送标头请求大约需要 1 秒才能显示新帖子,而通常大约需要 2/10 秒。有没有更有效和更快的方法来做到这一点?