体育场地的分类结构

时间:2015-05-02 作者:Bjeff

我很难弄清楚如何构建一个网站。该网站是一个新闻网站,提供三种不同但相关的运动:滑板、滑雪板和冲浪。每项运动通常都有运动员、赛事名称、地点、品牌、摄影师、电影制作人和附加的技巧。

我们主要通过文章、图片和视频发布有关这些运动的新闻,我的目标是能够从这些发布的项目中提取数据,并将其显示在包含类似数据的页面上。

例如:我们写了一篇关于托尼·霍克(滑板运动员)表演有史以来第一个900(滑板技巧)的文章。我们希望这篇文章被列在名为Skaters(滑板运动员)的页面上,所有滑板运动员都按字母顺序排列,Tony Hawk在滑板类别下有自己的部分,并希望同一篇文章被列在名为Tricks with other 900和other Skateboard Tricks的页面上。但该文章不能列在滑雪板技巧或冲浪技巧下。

我的设置方式是,我为每项运动创建了3个自定义帖子类型,并在每项运动下为运动员、事件名称、位置、品牌、摄影师、电影制作人和技巧创建了自定义标签,这意味着有3个不同的技巧标签(滑板技巧、滑雪板技巧和冲浪技巧)。

然而,我已经意识到,如果我进一步遵循这个系统,我将需要3种自定义的图片库帖子类型,3种自定义的事件帖子类型等等,这只会使管理变得非常不友好。

另一种选择是建立一个层次分类系统,例如滑板是父类别,滑板技巧是子类别,各种技巧名称是孙子类别。然而,据我所知,这将在每个帖子中创建一个长长的类别列表供选择。

最好的办法是,我可以在自定义标记和子类别之间建立关系,而不是在自定义标记和自定义帖子类型之间建立关系,但我知道这不适用于wordpress。

所以我的问题是:我的网站的最佳结构是什么?有没有更方便用户的想法?

1 个回复
SO网友:bosco

我认为您在某种程度上误解了自定义帖子类型和自定义分类法。

理论

自定义帖子类型

我认为自定义帖子类型的目的是对数据本身进行格式化,它描述的是一种内容类型,而不是内容本身。以内置page, post, 和attachment 职位类型,例如:

page post type描述网站上通用静态页面的格式,该页面可以使用父级组织为层次结构

  • post 帖子类型描述及时的内容,这些内容可以通过类别和标签进行组织,这些类别和标签反映内容本身的性质,并通常通过评论强调社区。帖子还发布在RSS提要中,供访问者进行外部消化
  • attachment post type描述与上述post类型之一关联的媒体文件
  • 出版没有意义;关于我们”;内容作为post (内容发布的时间顺序是不相关的,在此类静态内容上有评论部分是不常见的),将新闻故事作为页面发布也没有意义(故事发布时很重要,使用分类法来描述它是什么类型的故事很有用)。任何内容都不能合理地作为attachment.

    更奇怪的是,为每一条静态内容创建一个唯一的帖子类型(一个“关于我们”的帖子类型、一个“联系我们”的帖子类型、一个“隐私政策”的帖子类型等等),因为每一条内容都可以用相同的格式描述。

    与自定义帖子类型相关的任何数据最常通过Metadata API, 它允许您将自定义信息附加到帖子。

    自定义分类法

    分类法只不过是将项目分组在一起的一种方法。实际上,您可以通过分类来组织各种内容,或反映内容的某些方面,无论内容是用相同的帖子类型描述的,还是用不同的帖子类型描述的。

    列出电视节目和电影的网站可能对这两者都有自定义的帖子类型(因为情节电视节目的描述方式与描述电影的方式不同),但可以使用相同的方式对其中任何一个项目进行分类genre 分类法(其中的条目或术语将包含“科幻”、“恐怖”、“行动”等内容)。

    根据定义,曲棍球、篮球和足球都是一种运动,因此可以用与任何运动相同的格式来描述(例如,名称、规则集、历史记录等)。因此,您应该创建一个sport 自定义帖子类型,并创建sport 代表每个单项运动的立柱类型。

    按照同样的逻辑,一个athlete post类型将充分涵盖所有运动的参与者event 帖子类型将针对任何运动、运动员等的任何事件。

    sports可以用描述运动类型的分类法来组织,即;观众体育“"E;团队运动“"E;竞技体育“"E;业余体育运动"E;水上运动“"E;“职业体育”;,然而,对于您的应用程序来说,这是不必要的。

    事件是按位置组织(或分组)的,因此location 适用于event 岗位类型。它可以按地理位置进行分级(例如,州或省的术语将城市术语作为子项),允许您按城市或地区查询事件,也可以像标记一样简单地进行分级。

    项目和运动员都可以根据各自的相关运动进行组织,因此,除了sport CPT,asport 将创建分类法(而不应用于sport CPT。或者Metadata API 可用于将项目与各自的sports CPT条目。

    However, 从你的描述来看,听起来你似乎对描述你网站上的任何运动都不感兴趣——你不需要实际的页面来详细描述一项运动的各个方面,而不需要与之相关的人、地点和事件。因此,如果没有sport 完全是CPT,而只是sport 分类法,允许您分组athletesevents 他们各自的运动。

    总结

    我认为组织内容的最佳方式如下:

    自定义分类法sports

  • locations
    • 自定义帖子类型athlete - 使用sport 分类学event - 使用sportlocation 分类法query with the following arguments 返回包含所有参加足球比赛的运动员的存档页:

      $args[ \'post_type\' ] = \'athlete\';
      $args[ \'tax_query\' ] = array(
        \'taxonomy\' => \'sport\',
        \'terms\'    => \'football\'
      );
      
      此查询在URL上始终可用

      /?post_type=athlete&taxonomy=sport&terms=football

      如何将其转化为永久链接取决于您的permalink settings 还有你选择的鼻涕虫。

    结束

    相关推荐

    GET_CATEGORIES上的用户定义顺序?

    下面是一些将特定类别调用到我们的首页帖子循环的基本代码。它工作正常,只是我的客户希望类别按特定顺序显示。我知道互联网上还有其他关于这一点的帖子,但我没有看到任何像我的客户所问的那样解决这一问题的帖子。我可以接受下面代码中创建的$categories变量,并将这些对象调用到一个新数组中吗?在这种情况下,所有对象前面都有一个数字,如:[0] => values [1] => values [2] => values .... 输出转储时。我可以把输出结果按我