我应该对此URL结构采取什么方法?

时间:2012-08-09 作者:Jan-Henk

对于我正在开发的网站,我必须创建两个包含课程列表的页面。第一页是“培训”页,另一页是“辅导”。我想为课程内容使用一个自定义的帖子类型,因为这对于培训和教练列表上的所有课程都是一样的。

我还需要将每个courese分配到一个子类别。这些子类别仅用于在“培训和辅导”页面上的单独列中显示课程,但用户应能够为每门课程指定子类别,但是,一门课程只能有一个子类别。

我想要的URL结构如下:

Trainings > Training category 1 > Training one ==> /trainings/training-one

Trainings > Training category 2 > Training two ==> /trainings/training-two

Coaching > Coaching category 1 > Coaching one ==> /coaching/coaching-one

Coaching > Coaching category 2 > Coaching two ==> /coaching/coaching-two

我是Wordpress的新手,所以我想知道Wordpress的正确方法是什么。

1 个回复
最合适的回答,由SO网友:Mattvic 整理而成

有几种方法可以进行设置。我将解释我将如何做到这一点,使用尽可能多的WordPress默认设置和功能来保持简单。

Post Types

我首先要创建两种自定义的职位类型:培训和辅导。帖子类型的名称将添加到URL中,因此现在可以通过以下方式访问您的课程:

example.com/trainings/postnamename
example.com/coaching/postname

Taxonomies

要将课程分组,可以创建custom taxonomies.

您没有指定如何对这些帖子进行排序,以及这两门课程的分类是否相同,但假设您希望按级别对所有培训课程进行排序:初级、中级和高级。

在这种情况下,您可以创建包含三个术语的分类法级别:初学者、中级和高级。

注册分类法时,可以指定哪些帖子类型可以使用此分类法,以及URL应该是什么样子。

使用类似以下内容:

 register_taxonomy(\'levels\', array( \'trainings\' ), array(
    \'hierarchical\' => false,
    \'labels\' => $labels,
    \'show_ui\' => true,
    \'update_count_callback\' => \'_update_post_term_count\',
    \'query_var\' => true,
    \'rewrite\' => array( \'slug\' => \'trainings/level\', \'with_front\' => false ),
  ));
要生成如下URL:

example.com/trainings/level/beginner      // taxonomy archive of all beginner courses
example.com/trainings/level/intermediate  // taxonomy archive of all intermediate courses
example.com/trainings/level/advanced      // taxonomy archive of all advanced courses
请注意,WordPress需要分类法(级别)的名称来区分分类法和课程帖子类型。

我希望这有帮助。同样如前所述,我确信有更多的方法来实现这一点。

结束

相关推荐

NEXT_POST_LINK()中的EXCLUDE_CATEGORIES参数行为异常

我有一个Wordpress模板。php页面。该页面有“下一页”和“上一页”箭头,允许浏览所有帖子。我想将某些类别的帖子排除在“下一个”和“上一个”计算中。我有以下代码: // in single.php next_post_link( \'%link\', \'← Previous\', false, \'11 and 13 and 15\'); 这应该会显示到下一篇文章的链接。第11、13和15类的职位不应按照the $ignore_categories para