我有一个网站,我正在为一个季刊杂志。我正在把所有的文章从所有的问题到Wordpress的文章。
每一篇文章/文章都属于某一期,每一期都属于一卷(标准杂志材料)。
与其使用类别来表示卷->问题之间的层次关系,我认为最好使用自定义分类法。
所以我做了一个“卷”的自定义分类法。
我就是这样在functions.php上注册的
function add_custom_taxonomies() {
// Add new "Locations" taxonomy to Posts
register_taxonomy('volume', 'post', array(
// Hierarchical taxonomy (like categories)
'hierarchical' => true,
// This array of options controls the labels displayed in the WordPress Admin UI
'labels' => array(
'name' => _x( 'Volumes', 'taxonomy general name' ),
'singular_name' => _x( 'Volume', 'taxonomy singular name' ),
'search_items' => __( 'Search Issues' ),
'all_items' => __( 'All Issues' ),
'parent_item' => __( 'Parent Volume' ),
'parent_item_colon' => __( 'Parent Volume:' ),
'edit_item' => __( 'Edit Volume' ),
'update_item' => __( 'Update Volume' ),
'add_new_item' => __( 'Add New Volume' ),
'new_item_name' => __( 'New Volume Name' ),
'menu_name' => __( 'Volume-Issue' ),
),
// Control the slugs used for this taxonomy
'rewrite' => array(
'slug' => 'volume', // This controls the base slug that will display before each term
'with_front' => true, // Don't display the category base before "/volume/"
'hierarchical' => true // "
),
));} add_action( 'init',‘add_定制_分类法’,0 );
现在的问题是,用于分类的段塞必须是唯一的,而不是urls非常漂亮:
Example.com/音量/卷1/一期-2/
我得到
example.com/volume/volume-11/issue-1-volume-11/
这似乎是因为子弹“问题-1”、“问题-2”、“问题-3”和“问题-4”是在第一卷中讨论的,而且子弹需要独特吗?
这并不是世界上最糟糕的问题,但我认为,由于分类法的问题是在一个独特的卷下,我不会有这个问题。但是,我知道.
不管怎么说,有人能提出更好的办法吗?有可能是定制邮件类型吗?虽然我认为这是一个完美的答案,但似乎无法得到URL和段塞的配合。
我只想拿出一些非常漂亮和可预测的URLS,比如:
Example.com/册-1/期-1/example.com/卷-1/一期-2/example.com/卷-9/一期-3/
我非常感谢社区对此的洞察力。
谢谢
麦克
发布于 2013-05-24 19:45:13
有很多方法可以解决这个问题。如果是我的话,我会做的就是“发布”它自己的分类法。
如果问题是它自己的分类法,那么术语可能是唯一的(而且事情没有那么混乱)。然后,一篇文章将属于一个卷,也属于一个问题。诀窍是在重写规则中创建一个层次结构,使问题成为卷的一部分,而文章则是两者的一部分。
在这里,我要让你的URLS看起来像这样:
在article post类型声明中,您需要设置:
'rewrite' => array( 'slug' => 'volume/%volume%/issue/%issue%' )在issue分类法声明中,您需要设置:
'rewrite' => array( 'slug' => 'volume/%volume%/issue' )最后,您需要向post_type_link和term_link添加过滤器,以便自动生成链接不包含%volume%和%issue%。与其重新发明轮子,不如看看"如何将多个分类法附加到URL中?“(和许多其他人一样)关于如何做到这一点。
与往常一样,在进行重写更改时,请确保刷新重写规则。您可以通过转到Settings->Permalinks并单击“Settings”来做到这一点。
发布于 2013-05-24 19:51:35
您的自定义分类法很不错,但是我想您应该使用另一种方法。为什么不使用文章本身的层次结构呢?默认情况下,文章并不是分层的,但是页面是分层的。这意味着他们可以有父母,也可以被命令。查看hierarchical参数在寄存器_帖子_类型中。
如果您为每个卷创建一个母版页,然后在此卷中为每个问题创建一个子页,然后为本期内的每篇文章创建一个子页,则您将得到正确的URL,而不会造成任何痛苦。您甚至可以使用自定义页面模板来区分卷、问题和文章,并让example.com/volume-1/ URL显示此卷问题的列表。
https://wordpress.stackexchange.com/questions/100659
复制相似问题