我试图从循环中的类别名称填充类别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。
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,而不是类别名称。
不管怎样,这现在起作用了。发布后,其他人可以在需要时使用它。