我试图让WordPress循环只显示帖子的ID,该ID反映了$category_name
等于,如下面的代码行所示。它最终显示的是所有内容,而不是指定的帖子。
<?php
$link=$_GET[\'link\'];
if ($link == \'1\') {
$category_name= \'accomodatins\';
}
if ($link == \'2\'){
$category_name= \'accomodatins1\';
}
if ($link == \'3\'){
$category_name= \'accomodatins2\';
}
if ($link == \'4\'){
$category_name= \'accomodatins3\';
}
?>
以下是竞争代码
?>
<ul>
<li><a href="?link=1">Accommodations</a></li>
<li><a href="?link=2">Accountants</a></li> <?php
</ul>
<?php
global $link;
$link = $category_name;
// assign the variable as current category
$category_name = $link;
// concatenate the query
$args = \'category_name=\' . $category_name;
// run the query
query_posts( $args );
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// do something here
the_content( __(\'Read the rest of this page »\', \'template\'));
endwhile;
endif;
wp_reset_postdata();
?>
<div id="mainSection">
<!-- End Mid-Box -->
<?php
$link=$_GET[\'link\'];
if ($link == \'1\'){
$category_name= \'accomodatins\';
}
if ($link == \'2\'){
cat_switcher();
}
if ($link == \'3\'){
cat_switcher();
}
if ($link == \'4\'){
cat_switcher();
}
?>
</div>
最合适的回答,由SO网友:s_ha_dum 整理而成
您的代码是脱节的,但从外观上看,您正在传递一个ID
作为category_name
价值将其转换为名称的开关位于查询之后。
移动这个或类似的东西,。。。
$link=$_GET[\'link\'];
if ($link == \'1\'){
$category_name= \'accomodatins\';
}
if ($link == \'2\'){
cat_switcher();
}
if ($link == \'3\'){
cat_switcher();
}
if ($link == \'4\'){
cat_switcher();
}
。。。使其位于查询之前,从而转换
$link
这是一个名字的数字。
而且don\'t use query_posts
. 新建WP_Query
对象或在上使用筛选器pre_get_posts