首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress自定义分类法-卷/发行-独特的段塞问题

Wordpress自定义分类法-卷/发行-独特的段塞问题
EN

WordPress Development用户
提问于 2013-05-24 18:53:08
回答 2查看 505关注 0票数 1

我有一个网站,我正在为一个季刊杂志。我正在把所有的文章从所有的问题到Wordpress的文章。

每一篇文章/文章都属于某一期,每一期都属于一卷(标准杂志材料)。

与其使用类别来表示卷->问题之间的层次关系,我认为最好使用自定义分类法。

所以我做了一个“卷”的自定义分类法。

我就是这样在functions.php上注册的

代码语言:javascript
复制
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/

我非常感谢社区对此的洞察力。

谢谢

麦克

EN

回答 2

WordPress Development用户

回答已采纳

发布于 2013-05-24 19:45:13

有很多方法可以解决这个问题。如果是我的话,我会做的就是“发布”它自己的分类法。

如果问题是它自己的分类法,那么术语可能是唯一的(而且事情没有那么混乱)。然后,一篇文章将属于一个卷,也属于一个问题。诀窍是在重写规则中创建一个层次结构,使问题成为卷的一部分,而文章则是两者的一部分。

在这里,我要让你的URLS看起来像这样:

  • /卷/1/
  • /卷/1/发行/2/
  • /卷/1/一期/2/文章-标题/

article post类型声明中,您需要设置:

代码语言:javascript
复制
'rewrite' => array( 'slug' => 'volume/%volume%/issue/%issue%' )

issue分类法声明中,您需要设置:

代码语言:javascript
复制
'rewrite' => array( 'slug' => 'volume/%volume%/issue' )

最后,您需要向post_type_linkterm_link添加过滤器,以便自动生成链接不包含%volume%%issue%。与其重新发明轮子,不如看看"如何将多个分类法附加到URL中?“(和许多其他人一样)关于如何做到这一点。

与往常一样,在进行重写更改时,请确保刷新重写规则。您可以通过转到Settings->Permalinks并单击“Settings”来做到这一点。

票数 2
EN

WordPress Development用户

发布于 2013-05-24 19:51:35

您的自定义分类法很不错,但是我想您应该使用另一种方法。为什么不使用文章本身的层次结构呢?默认情况下,文章并不是分层的,但是页面是分层的。这意味着他们可以有父母,也可以被命令。查看hierarchical参数在寄存器_帖子_类型中。

如果您为每个卷创建一个母版页,然后在此卷中为每个问题创建一个子页,然后为本期内的每篇文章创建一个子页,则您将得到正确的URL,而不会造成任何痛苦。您甚至可以使用自定义页面模板来区分卷、问题和文章,并让example.com/volume-1/ URL显示此卷问题的列表。

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/100659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档