如何通过php自动创建li元素?

时间:2013-10-06 02:59:07

标签: php html wordpress

最近,我通过wordpress建立了一个网站。我使用ul ... li元素创建了一个侧边栏。我手动编写代码如下。

<ul class="accordion">
    <li id="one"><a href="#one">2010 News</a>
        <?php query_posts('order=ASC&cat=2&tag=2010&orderby=date'); ?>
        <ul class="sub-menu">
            <?php while (have_posts()) : the_post(); ?>  
            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>  
        <?php endwhile;?> 
        </ul>
    </li>
    <li id="two"><a href="#two">2011 News</a>
        <?php query_posts('order=ASC&cat=2&tag=2011&orderby=date'); ?>
        <ul class="sub-menu">
            <?php while (have_posts()) : the_post(); ?>  
            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>  
        <?php endwhile;?> 
       </ul>
    </li>
</ul>

我只希望代码在有人在类别中发布新页面时添加li元素,自动创建 2012新闻,* 2013新闻 *部分id为2并使用2012或2013签署标记。我可以自己修改代码,但其他人可能不知道如何修改它。所以我只是想让其他人更容易。谁能帮我?非常感谢。

1 个答案:

答案 0 :(得分:0)

<ul class="accordion">
   <?php for ($year = 2010; $year < date('Y'); $year++) { ?>
    <li id="one"><a href="#<?php echo $year;?>"><?php echo $year;?> News</a>
        <?php query_posts("order=ASC&cat=2&tag=$year&orderby=date"); ?>
        <ul class="sub-menu">
            <?php while (have_posts()) : the_post(); ?>  
                <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>  
            <?php endwhile; ?> 
        </ul>
    </li>
    <?php } ?>
</ul>