PHP动态条件开机自检显示

时间:2013-04-10 作者:Dz.slick

我试图让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>

1 个回复
最合适的回答,由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

结束

相关推荐

如何从wp_Dropdown_Categories获取类别插件

我正在自定义一个插件。我需要它来显示层次结构中的类别列表,这是我使用插件的所有功能得到的。我正在使用wp_dropdown_categories, 但我想将类别列表显示为它们的slug,而不是它们的类别名称。有什么建议吗?以下是我目前掌握的情况:function replace_id_for_slug( $option ) { $categories = get_categories( \"hide_empty=0\" ); preg_match( \'/value=\"(