AZ Directory category

时间:2013-11-07 作者:Constantino

您好,我想创建一个由3行组成的类别的A到Z索引。我该怎么做呢?示例:

wen jian zhong。。。

类别标题以字母A开头

B类别标题以字母B开头

类别的Ctitle以字母C开头

类别的Dtitle以字母D开头

Etitle of category以字母E开头

类别的标题以字母F开头

G类别标题以字母G开头

1 个回复
SO网友:helgatheviking

我写了一篇关于Creating an Alphabetical Glossary of Posts 但这里是最相关的部分。

首先为字母表中的字母创建一个隐藏的分类法

// Add new taxonomy, NOT hierarchical (like tags)
function kia_create_glossary_taxonomy(){
    if(!taxonomy_exists(\'glossary\')){
        register_taxonomy(\'glossary\',array(\'post\'),array(
        \'show_ui\' => false
      ));
     }
}
add_action(\'init\',\'kia_create_glossary_taxonomy\');
然后,在保存任何帖子时,将第一个字母另存为词汇表分类法中的术语

/* When the post is saved, saves our custom data */
function kia_save_first_letter( $post_id ) {
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
return;

//check location (only run for posts)
$limitPostTypes = array(\'post\');
if (!in_array($_POST[\'post_type\'], $limitPostTypes)) return;

// Check permissions
if ( !current_user_can( \'edit_post\', $post_id ) )
return;

// OK, we\'re authenticated: we need to find and save the data
$taxonomy = \'glossary\';

//set term as first letter of post title, lower case
wp_set_post_terms( $post_id, strtolower(substr($_POST[\'post_title\'], 0, 1)), $taxonomy );

//delete the transient that is storing the alphabet letters
delete_transient( \'kia_archive_alphabet\');
}
add_action( \'save_post\', \'kia_save_first_letter\' );
瞧,现在知道你有A、B、C等术语,每个术语都应该包含标题以该字母开头的所有帖子。

结束

相关推荐

List of Posts and Categories

我有一个自定义的物种分类法和一个自定义的动物post类型。我想在树状视图中显示它们,如下所示:所有动物Fish (taxonomy term)<鲨鱼(自定义贴子类型)太阳鱼Mammals<猴子斑马列表中的每个项目都将链接到各自的位置。因此,自定义帖子类型链接到动物,分类术语转到分类页面。我知道WordPress列出类别的方法,但我也希望将帖子分组到每个类别下(自定义分类法)。