Category ID returns as '0'?

时间:2015-10-30 作者:user3350469

我试图从循环中的类别名称填充类别id。

    <?php $cat_name = get_theme_mod( \'cat_1\' ); ?>
    <?php $category_id = get_cat_ID($cat_name); ?>
    <?php query_posts(\'cat=\'.$category_id); ?>
cat\\U 1 theme mod是我在theme customizer中拥有的一个类别下拉列表,它在下拉列表中获取并列出类别名称。目前,我的循环显示所有类别中的所有帖子,而不是从theme\\u mod cat\\u 1中选择的类别。

使用时:

    <h4><?php echo $category_id; ?></h4>
当从类别下拉列表(主题mod cat\\u 1)中选择时,它返回为“0”,而不是类别的id。

1 个回复
SO网友:user3350469

回答了我自己的问题,虽然不完全是我最初的打算。

    <?php 
        $cat_name = get_theme_mod( \'cat_1\' );
        $cat_name = str_replace(\' \',\'-\',$cat_name);
    ?>
    <?php query_posts(\'category_name=\' . $cat_name); ?>
因此,与其尝试将类别名称转换为类别id,不如将类别名称转换为类别slug。我可以通过回显$cat\\u name来测试这一点,它返回的是类别slug,而不是类别名称。

不管怎样,这现在起作用了。发布后,其他人可以在需要时使用它。

相关推荐

如何将自定义选项添加到wp_Dropdown_Categories?

我需要将自定义选项添加到wp_dropdown_categories. 现在,整个万维网世界还没有找到解决方案。。。因此,我在这里要求一个解决方案……因为我真的无法想象WordPress的开发人员没有考虑到这将永远不需要,对吗?