2015-03-31 88 views
0

我准备放弃Wordpress。邮政类型,分类和路由

我有这个问题。我通过wp-types插件创建了一个自定义后期类型。我可以显示它并显示帖子。

但是,我创建了一个自定义页面,其中包含呈现帖子的自定义模板。我这样做是因为该网站使用多种语言,我需要使用该特定语言的网址。

因此,通过标准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的难与你一起工作,你必须注入代码,处理路由,注册类型。感觉就像你只是将它拼凑在一起,制造出一个可怕的怪物,让每个人都感受到代码胆汁。

回答

0

首先,将您的固定链接设置设置为'发布名称'。阅读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将用于渲染帖子本身。

我认为将这些分类法包含在帖子的URL中是不可取的,因为这些可能会改变,或者您可能有多个与帖子相关的字词。但是,如果有必要,看看这篇文章:http://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinks

相关问题