我已经准备放弃Wordpress了。
我有这个问题。我已经通过wp-types插件创建了一个自定义的post-type。我可以显示它并显示它的帖子。
但是,我创建了一个自定义页面,其中包含一个用于呈现帖子的自定义模板。我这样做是因为该网站使用多种语言,我需要使用该特定语言的网址。
因此,后期类型不会通过标准 archive- {post-type-name} .php 文件显示,而是显示自定义模板和自定义wordpress页面。 仅仅因为我需要网址与给定的页面语言使用相同的语言,例如:
myurl.com/{name_in_one_language}
and
myurl.com/{name_in_another_language}
问题在于我的自定义帖子类型附加了自定义分类。在呈现帖子之前,我选择分类法,然后根据分类名称呈现页面的其余部分。例如:
myurl.com/paintings/?category=category_name
|| or ||
myurl.com/paintings/?author=painting_author
问题是客户端不喜欢那种自定义url参数。他请求我把它改成以下格式:
myurl.com/paintings/{taxonomy}/{painting}
分类法是作者姓名或艺术类型。绘画页面本身只是一个中间件,用于选择需要显示所需分类的帖子。
我已经没有了如何去做的想法。完全。
我尝试使用 archive- {post-type-name} .php 解决方案,不知道wp-types插件重写是如何工作的。尝试使用插件中的wordpress永久链接语法,无法识别它。
基本上我需要的是以下内容:对于我的自定义页面,它有一个自定义模板,使用自定义分类法呈现自定义后期类型,以便按以下方式进行路由:
myurl.com/{page-with-template-that-renders-custom-post-type}/{post-type-taxonomy}/{post}
我真的觉得Wordpress难以使用,你必须注入代码,处理路由,注册类型。感觉就像你只是把它拼凑在一起制造一个可怕的怪物,它会给每个人喷出代码胆汁。
答案 0 :(得分:0)
首先,将固定链接设置为“帖子名称”。阅读Wordpress的模板层次结构,了解工作原理:https://codex.wordpress.org/Template_Hierarchy
如果您创建分类 - {taxonomy-slug} .php模板,则可以导航到myurl.com/paintings/{taxonomy}/{taxonomy-term}并在模板中使用以下内容
$taxonomy = get_query_var( 'taxonomy' );
$term = get_query_var( 'term' );
..并在查询中使用这些变量。
单个{post-type-slug} .php将用于呈现帖子本身。
我认为不建议将分类法包含在帖子的URL中,因为这些可能会发生变化,或者您可能有多个与帖子相关的术语。但是,如果有必要,请查看这篇文章:http://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks