Php 每三个帖子从排除的类别中抽取一次。WordPress

Php 每三个帖子从排除的类别中抽取一次。WordPress,php,wordpress,Php,Wordpress,我希望得到以下方面的建议 在我的主页上,我想列出所有类别的帖子,除了一篇(类别11),并在每第三篇帖子中插入类别11的帖子 e、 g 职位1(来自类别“2”的职位) 职位2(来自类别“7”的职位) POST 3(从'11'开始发布) 职位4(来自类别“5”的职位) 职位5(来自类别“7”的职位) POST 6(POST from'11') 职位7(来自类别“7”的职位) 职位8(来自类别“1”的职位) POST 9(POST from'11') 它都需要住在里面,而分页等职位 有人能建议最好的方

我希望得到以下方面的建议

在我的主页上,我想列出所有类别的帖子,除了一篇(类别11),并在每第三篇帖子中插入类别11的帖子

e、 g

职位1(来自类别“2”的职位)

职位2(来自类别“7”的职位)

POST 3(从'11'开始发布)

职位4(来自类别“5”的职位)

职位5(来自类别“7”的职位)

POST 6(POST from'11')

职位7(来自类别“7”的职位)

职位8(来自类别“1”的职位)

POST 9(POST from'11')

它都需要住在里面,而分页等职位

有人能建议最好的方法吗

您需要实现这一点。您必须创建另一个
WP\u Query
实例,该实例将从类别11获取帖子。然后,在计算和检查是否显示类别11中的帖子时,正常循环浏览所有其他帖子

$page_query_var = 'page';
$post_cat_10 = new WP_Query('cat=10' . '&paged=' . get_query_var($page_query_var));
$other_posts = new WP_Query('cat=-10' . '&paged=' . get_query_var($page_query_var));
for ($i = 1; $other_posts->have_posts(); $i++)
{
    if ($i % 3 === 0 AND $post_cat_10->have_posts())
    {
        $post_cat_10->the_post();
    }
    else
    {
        $other_posts->the_post();
    }
    the_title();
    the_content();
}

您只需输出每个帖子,但数组中的数字可以除以3。这可能更容易向您展示:

<?php

//Make your SQL-statement within the $result variable

$i = 0;
while( $row = mysql_fetch_assoc($result)) {
    $i++;
    if( $i % 3 > 0) {
        $output[] = $row['COLUMN_NAME'];
    }
}

echo implode("<br>\n", $output);

?>


这是关于
WordPress
而不是原始PHP的。我可以在你的回答中看到-OP在他的问题中没有提到这一点。是的,我知道。但是他确实在标签里放了
wordpress
。哦,是的,我没看到。我的错,很好!这是否仍然适用于标准wordpress分页?@user1315018是的,我相信是这样。如果需要,您可以查看文档以了解更多详细信息。它适用于11类文章,但我不能输出任何其他内容。@user1315018查看我的编辑。另外,为了使分页工作正常,您需要相应地将
$page\u query\u var
更改为您自己的页码主题查询。我明白了。虽然当我在管理面板中将“博客页面最多显示”设置为6时,它仍然显示所有帖子(其中20篇)。当{??