URL参数刚刚消失

时间:2012-11-16 09:38:49

标签: php wordpress url-parameters

我正在创建一个链接,它会添加像这样的URL参数

<?php 
    $cat = 10;
    $childcats = get_categories('child_of=' . $cat);
    foreach ($childcats as $childcat) {
        $catName = $childcat->cat_name;
        $catID = $childcat->cat_ID;
?>
    <li <?php if($selectedCat == $catID){?> class="selected" <?php } ?> >
        <a href="<?php echo site_url('/lookbook/'); ?>?cat=<?php echo $catName ?>"><?php echo $catName ?></a>
    </li>
<?php
    }
?>

然而,当我点击链接时页面重新加载而没有附加参数,这意味着我的参数依赖功能不起作用。

可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

来自$ catName来自哪里?

其中一个页面可能有助于根据您的需要填充$ catName:

http://codex.wordpress.org/Function_Reference/get_cat_name

http://codex.wordpress.org/Function_Reference/get_the_category

答案 1 :(得分:0)

请使用与cat不同的查询参数。我几乎100%确定您的问题是由cat是WordPress中的内置查询参数引起的,因此WordPress会解析参数并将您重定向到正确的URL(如果您使用的是非常永久链接),或修改当前查询。有关WP_Query接受的参数列表(我不确定,如果可以通过网址设置所有参数),请参阅Class Reference/WP Query

我建议您使用例如_cat代替:

<?php 
    $cat = 10;
    $childcats = get_categories('child_of=' . $cat);
    foreach ($childcats as $childcat) {
        $catName = $childcat->cat_name;
        $catID = $childcat->cat_ID;
?>
    <li <?php if($selectedCat == $catID){?> class="selected" <?php } ?> >
        <a href="<?php echo site_url('/lookbook/'); ?>?_cat=<?php echo $catName ?>"><?php echo $catName ?></a>
    </li>
<?php
    }
?>