首先,让我们清理这个标签垃圾邮件噩梦,以便我们可以阅读它,然后简化代码:
function adinserter() {
return \'abcdefg\';
}
if (have_posts()) {
$count = 0;
while (have_posts()) {
the_post();
$count++;
get_template_part( \'content\', get_post_format() );
if ($count == 3) {
if (function_exists (\'adinserter\')) {
echo adinserter (1);
}
$count = 0;
}
}
}
你在复制代码
get_template_part()
内部和
else
有条件的,也在
if
它本身这段代码一直在运行。它根本不需要处于条件中。
接下来,除了echo函数的放置之外,您的代码也可以工作。把它放在get_template_part()
在帖子#2和#3之间进行了第一次加法——这就是我假设你所说的代码“在随机位置”插入的意思。其余的都正确地插入了。你的方式if
/else
写这篇文章可能很难发现,但当我把它清理干净后,答案就相当明显了。
到目前为止,没有太多的文字。WordPress是这样的:你不需要计数器。有一个内置在Loop
. 它是为您提供的。
if (have_posts()) {
while (have_posts()) {
the_post();
get_template_part( \'content\', get_post_format() );
if ($wp_query->current_post !== 0 && ($wp_query->current_post+1)%3 == 0) {
if (function_exists (\'adinserter\')) {
echo adinserter (1);
}
}
}
}
至于为什么它不适用于你的无限卷轴,我不能说,因为我不知道你的无限卷轴是如何工作的。