我已经在互联网上看到了这个问题,但到目前为止没有任何对我有用。
理想情况下,我希望以下工作:
class UserSerializer < ActiveModel::Serializer
attributes :status
def status
object.status_before_type_cast # get integer
# or User.statuses[object.status], the same thing
end
end
&lt;分类档案
http://example.com/mortgage-brokers
&lt;分类学术语
http://example.com/mortgage-brokers/victoria
&lt;二级分类学术语
http://example.com/mortgage-brokers/victoria/melbourne
&lt;单个“帖子”
我将'自定义帖子类型永久链接'插件设置为http://example.com/mortgage-brokers/victoria/melbourne/john-smith
,我已经定义了我的CPT&amp;分类如下:
/%broker_locations%/%postname%/
通过上面的配置,我可以发布永久链接工作,只要我不在分类法定义中添加一个slug到'rewrite',导致slug中的'broker_locations',即:
$args = array(
'label' => __('Brokers'),
'singular_label' => __('Broker'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'query_var' => true,
'rewrite' => [
'hierarchical' => false,
'slug' => 'mortgage-brokers',
'with_front' => false
],
'supports' => array('title', 'editor', 'thumbnail', 'tag', 'comments'),
);
register_post_type( 'broker' , $args );
register_taxonomy(
'broker_locations',
'broker',
array(
'hierarchical' => true,
'label' => 'Broker locations',
'hierarchical' => true,
'rewrite' => array(
'hierarchical' => true,
'with_front' => false
)
)
);
&lt;作品
http://example.com/mortgage-brokers/victoria/melbourne/john-smith
&lt; 404
http://example.com/mortgage-brokers/victoria/melbourne
&lt; “有效”,但不是很理想
我还能够获得嵌套分类法档案或者发布永久链接以使其正常工作(取决于在functions.php中首先定义的那个),但另一个总是404s。
有谁知道发生了什么事?我无法相信这么简单的事情是多么困难。
答案 0 :(得分:1)
如果有人磕磕绊绊,我找到了答案: https://wordpress.stackexchange.com/questions/196797/add-taxonomy-in-custom-permalink-structure/196799
'AddWeb Solution Pvt Ltd'在该线程中编写了自己的函数来解决这个问题。这有些手动,你必须指定你的帖子有多少级别,但它确实对我有用。