如何构建复杂的页面结构

时间:2016-08-27 作者:retober

比方说,我需要一个像下图这样结构的页面。

Structure有一个frontpage,我可以从那里选择一个网站合作伙伴。每个合作伙伴都会获得一个额外的“合作伙伴页面”,该页面必须在仪表板中进行编辑。合作伙伴的描述下面是合作伙伴完成的项目列表。每个项目也都是完全可编辑的。

最好的情况是permalink结构,如下所示:

合作伙伴:www.example。org/partner1项目:www.example。org/partner1/project name/ul>我不知道哪种方法是最好的,我应该建立类别还是分类法?这一切似乎都很乏味,因为将有100多个合作伙伴及其项目。

我构建了很多主题,但从来没有这样的结构,那么解决这个问题的最佳方法是什么?(类别、分类、CPT、一些插件…)

3 个回复
SO网友:The J

我不会为此使用WordPress页面或文章。简单地说,创建一个名为“Projects”的新自定义post类型,使用类似插件的类型,然后创建一个新的自定义分类法“Partners”,并将其与该自定义post类型相关联。干净、结构简单。

SO网友:dan9vu

您可以使用page 岗位类型。

使用简单example.com/parent-page/child-1/child-1.1 已可用对于“类别”、“分类法”或“CPT”,您必须注册并重写permalink结构。

SO网友:somebodysomewhere

Home - 将此创建为page.

Partners - 创建这是一个custom post type 因为他们需要单个页面(例如example.com/partner/partner1)。

Projects - 创建taxonomy 称为“项目”。该分类法的术语将是您的项目。将分类法与您创建的“合作伙伴”自定义帖子类型相关联。这是在合作伙伴之间共享相同项目的最佳方式。

编辑:如果要创建永久链接结构,如example.com/{partner}/{project} 然后,您可以使用自定义重写规则轻松地做到这一点。

add_rewrite_rule(
    \'partner/([A-Za-z0-9\\-\\_]+)/?$\',
    \'index.php?pagename={your-template-slug}&project_slug=$matches[1]\',
    \'top\'
);
使用WordPress查询变量,您可以访问project_slug 变量,并使用get_term_by().

我提议的结构充分利用了WordPress核心的设计方式。这样做也是构建它的最灵活的方式,允许您在将来根据客户的要求轻松添加新模板,无论是所有项目的存档、查看与多个特定合作伙伴关联的项目、没有项目的合作伙伴档案等。

顺便说一句,自定义重写规则是完全可选的,但如果您想要自定义永久链接结构,并且想要使用此数据结构,则需要它们。

编辑:-1分?好吧这个网站一定有很多业余爱好者。