繁体   English   中英

帖子类型,分类和路由

[英]Post Types, Taxonomies and routing

我准备放弃Wordpress。

我有这个问题。 我已经通过wp-types插件创建了一个自定义的post-type。 我可以显示它并显示来自它的帖子。

但是,我创建了一个带有自定义模板的自定义页面,用于呈现帖子。 我这样做是因为该网站使用多种语言,并且我需要使用该特定语言的URL。

因此,帖子类型不会通过标准的archive- {post-type-name} .php文件显示,而是通过自定义模板和自定义wordpress页面显示。 仅仅因为我需要这些URL与给定的页面语言使用相同的语言,所以示例:

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很难使用,必须使用注入代码,处理路由,注册类型的方式。 感觉就像您只是将其修补在一起,制成了一个可怕的怪物,在所有人身上喷出了胆汁。

首先,将永久链接设置为“帖子名称”。 仔细阅读Wordpress的模板层次结构以了解其工作原理: https//codex.wordpress.org/Template_Hierarchy

如果您创建一个taxonomy- {taxonomy-slug} .php模板,则可以导航至myurl.com/paintings/{taxonomy}/{taxonomy-term}并在模板中使用以下内容

$taxonomy = get_query_var( 'taxonomy' );
$term = get_query_var( 'term' );

..并在查询中使用这些变量。

单个{post-type-slug} .php将用于呈现帖子本身。

我认为,这是不可取的,包括在岗,因为这些网址的分类可以改变,或者你可以有一个职位相关的多个方面。 但是,如果有必要,请查看这篇文章: http : //shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM