Wordpress - 如何修复if / else代码

时间:2014-07-23 17:30:01

标签: php html wordpress

我试图根据当前类别显示不同的风格。所以我试图用if / else来做。但是,当我加载页面时,什么都没有出现......

提前致谢。

<?php 

if (have_posts()) : while (have_posts()) : the_post(); 
$current_section = single_cat_title(); 

     if ($current_section == "music") {
?>

        <li class="music_post"><a href="<?php the_permalink(); ?>">
           <h1><?php the_title(); ?></h1>
        </a></li>

<?php 
     } 
     elseif ($current_section == "blog") 
     {
?>

        <li class="blog_post"><a href="<?php the_permalink(); ?>">
           <h1><?php the_title(); ?></h1>
        </a></li>


 <?php 
      } 
 ?>
 <? endwhile;?>
 <? endif; ?>

2 个答案:

答案 0 :(得分:0)

你需要抓住这些条款:

 global $post;
 $terms = get_the_terms($post->id, 'name_of_taxonomy');

这将返回一组有用的值,您可以在其中使用:

$currentTerm = $terms[0]->slug;

现在你可以检查

if ($currentTerm == 'music'){
 // ...
}else{
//...
}

抱歉,请改用:

$terms = $wp_query->queried_object;;
echo $terms->slug;

答案 1 :(得分:0)

试试这个

<?php 

if (have_posts()) : while (have_posts()) : the_post(); 
global $post;
$terms = get_the_terms($post->id, 'name_of_taxonomy');
$current_section = $terms[0]->slug;
if ($current_section != "") {
?>

<li class="<?php if ($current_section == "music") { ?>music_post<?php } elseif ($current_section == "blog") {?>blog_post<?php } ?>"><a href="<?php the_permalink(); ?>">
   <h1><?php the_title(); ?></h1>
</a></li>

<?php } ?>

 <? endwhile;?>
 <? endif; ?>