如何在Wordpress中按字母顺序排列选定的内容

时间:2015-02-17 01:26:48

标签: css wordpress alphabetical-sort

我正在尝试将我添加的内容按字母顺序分组到每个字母都有“标题”的列表中。换句话说,我想在我的博客编辑器中突出显示所需的内容,然后自动将该内容按字母顺序排列并格式化为:

enter image description here

似乎可以使用一些健康大小的自定义PHP脚本或者某些同样乏味的javascript或jquery来完成它?有关插件或方法的任何建议吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是多么高效,但这是一个基本的实现,完全用php完成。

基本上在帖子循环中(你命令'标题',升序)你检查第一个字母是否与前一个标题的第一个字母相同。如果是的话,不要做任何特别的事情。如果它不同,那么这意味着它结束了该字母,所以结束列表,发布新字母的标题,然后继续循环。

<?php 
// Get posts in alphabetical order
    $args = array( 'posts_per_page' => -1, 'orderby'=> 'title', 'order' => 'ASC' );

    $allposts = get_posts( $args ); 
?>

<ul>
<?php 
        $previous = 0;
        $current = 1;
?>

<?php foreach($allposts as $post) {
        setup_postdata($post); 

        // Grab the first letter of the post
        $current = substr(the_title('', '', false), 0, 1);

        // Is it the same as the section we're in?
        if ($previous != $current) {
            // If it's not the same, break the list, and start a new section
            ?>
            </ul>
            <h2><?php echo $current; ?></h2>

            <?php $previous = $current; ?>
            <ul>
        <?php } ?>

        <li><a href="<?php the_permalink ?>"><?php the_title() ?></a></li>

<?php } ?>
</ul>