带有定制邮寄类型的单页和存档页

时间:2019-12-17 作者:KArneaud

我有一个自定义的帖子类型

    // Set other options for Custom Post Type
    $args = array(
        \'label\'               => __( \'document\', \'ecse\' ),
        \'description\'         => __( \'Upload Documents\', \'ecse\' ),
        \'labels\'              => $labels,
        // Features this CPT supports in Post Editor
        \'supports\'            => array( \'title\', \'editor\', \'custom-fields\', \'excerpt\' ,\'thumbnail\',\'page-attributes\',\'tags\'),
        // You can associate this CPT with a taxonomy or custom taxonomy.
        \'taxonomies\'          => array( \'sources\' ),
      \'capability_type\'     => \'page\',
我有自己的分类法

register_taxonomy( \'sources\',...[ ...  \'has_archive\' => true,
        \'rewrite\' => [
          \'hierarchical\' => true,
          "with_front" => false,
          \'ep_mask\' => EP_PERMALINK | EP_PAGES,
          \'slug\' => \'/%sources%/\'

register_taxonomy( \'forms\', \'documents\',[
      \'has_archive\' => true,
      \'hierarchical\' => true,
      \'rewrite\' => [
        \'hierarchical\' => true,
        "with_front" => false,
        \'ep_mask\' => EP_PERMALINK | EP_PAGES,
        \'slug\' => \'/documents/%postname%/\'
      ],
      \'show_in_menu\' => false,
      \'query_var\' => true,
    ]);
我可以让归档页面显示文章类型的分页列表。。。。但单柱类型的永久链接格式不正确

我的分类permalink的基础是http://xxxx/documents/%sources%/ 哪里sources 如果我使用http://xxxx/documents/%sources%/%postname%/ 然后单页工作。。。。但我失去了“归档分页”功能http://xxxx/documents/%sources%/page/2/ 不起作用。

如何使sinlge和archive页面都适用于自定义帖子类型?

1 个回复
SO网友:Fadi Chamoun

WordPress可以通过创建一个名为Chive CustomPostTypePage的页面来自动处理这个问题。php通过register\\u post\\u type()函数。

例如:。archive-文件。php

您需要在函数中注册post类型,并且名称必须与上面的php文件名相同,例如:

register_post_type(\'documents\', array(
    // YOUR ARRAY HERE
));

相关推荐

WP JSON list all permalinks

Scenario我正在考虑编写一个自定义的wp json端点,以列出我的wordpress中每个帖子的所有永久链接。Question是否可以使用rest查询+筛选器来完成此操作?例如:。http://wpsite.com/wp-json/wp/v2/posts?filter[only-permalinks]当前的解决方案最后我编写了一个自定义端点,代码如下:添加到函数的底部。phpfunction get_all_slugs() { $posts = get_posts( array(&#