使用自定义固定链接按日期自定义邮寄类型档案

时间:2011-10-14 作者:dashaluna

我有点难以让定制的permalink for custom post type(CPT)归档正常工作。

我已注册我的“press\\u release”CPT,如下所示:

add_action(\'init\', \'press_release_post_type_init\');
function press_release_post_type_init() {
  $labels = array(
    \'name\' => _x(\'Press Releases\', \'post type general name\'),
    \'singular_name\' => _x(\'Press Release\', \'post type singular name\'),
    \'add_new\' => _x(\'Add New\', \'Press Release\'),
    \'add_new_item\' => __(\'Add New Press Release\'),
    \'edit_item\' => __(\'Edit Press Release\'),
    \'new_item\' => __(\'New Press Release\'),
    \'view_item\' => __(\'View Press Release\'),
    \'search_items\' => __(\'Search Press Releases\'),
    \'not_found\' =>  __(\'No press release found\'),
    \'not_found_in_trash\' => __(\'No press release found in Trash\'), 
    \'parent_item_colon\' => \'\'
  );
  $args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true,
    \'has_archive\' => \'press-release\',
    \'rewrite\' => array(\'slug\' => \'press-release/%year%/%postname%\',\'with_front\' => false),
    \'query_var\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'show_in_nav_menus\' => false,
    \'menu_position\' => 20,
    \'supports\' => array(
      \'title\',
      \'editor\',
      \'author\',
      \'revisions\'
    )
  );
  register_post_type(\'press_release\', $args);
}
现在如果我转到URLhttp://mysite.press-release 然后我到了archive-press_release.php 模板,这是正确的。

但是,我希望我的CPT存档永久链接是以下类型press-release/%year%

我在注册CPT时尝试指定上述永久链接结构:

\'has_archive\' => \'press-release/%year%\'
然而,当我去http://mysite.press-releasehttp://mysite.press-release/2011 在这两种情况下,我都被重定向到index.php 模板不是存档模板。

要让WordPress明白这一点,我需要添加什么press-release/%year% 带有可选年份部分的permalink实际上是归档模板吗?

我真的很感激任何帮助!我希望这是可能的。

我计划在archive-press_release.php 获取正确年份的记录。

非常感谢,Dasha

1 个回复
最合适的回答,由SO网友:chodorowicz 整理而成

以下是解决方案:

安装Custom Post Type Archives 插件转到设置->发布类型存档删除url基选项(保留为空)

  • 将模板模式更改为archive-{POST_TYPE}.php
  • 勾选自定义帖子类型,然后单击“保存”,重写/保存自定义永久链接结构press-release/%year%press-release/%year%/%month% 应该有用。

  • 结束

    相关推荐

    Custom permalinks

    我们有一个自定义类型music./music/ /music/post-name/ 此外,我们还有一个类似标签的分类法genres. 其URL为:/music-genres/genre-name/ 我尝试创建如下URL:/music/ /music/post-name/ /music/genres/ /music/genres/genre-name/ /music-genres/ 应替换为/music/genres/.最后,我们应该得到如下url

    使用自定义固定链接按日期自定义邮寄类型档案 - 小码农CODE - 行之有效找到问题解决它

    使用自定义固定链接按日期自定义邮寄类型档案

    时间:2011-10-14 作者:dashaluna

    我有点难以让定制的permalink for custom post type(CPT)归档正常工作。

    我已注册我的“press\\u release”CPT,如下所示:

    add_action(\'init\', \'press_release_post_type_init\');
    function press_release_post_type_init() {
      $labels = array(
        \'name\' => _x(\'Press Releases\', \'post type general name\'),
        \'singular_name\' => _x(\'Press Release\', \'post type singular name\'),
        \'add_new\' => _x(\'Add New\', \'Press Release\'),
        \'add_new_item\' => __(\'Add New Press Release\'),
        \'edit_item\' => __(\'Edit Press Release\'),
        \'new_item\' => __(\'New Press Release\'),
        \'view_item\' => __(\'View Press Release\'),
        \'search_items\' => __(\'Search Press Releases\'),
        \'not_found\' =>  __(\'No press release found\'),
        \'not_found_in_trash\' => __(\'No press release found in Trash\'), 
        \'parent_item_colon\' => \'\'
      );
      $args = array(
        \'labels\' => $labels,
        \'public\' => true,
        \'publicly_queryable\' => true,
        \'show_ui\' => true,
        \'has_archive\' => \'press-release\',
        \'rewrite\' => array(\'slug\' => \'press-release/%year%/%postname%\',\'with_front\' => false),
        \'query_var\' => true,
        \'capability_type\' => \'post\',
        \'hierarchical\' => false,
        \'show_in_nav_menus\' => false,
        \'menu_position\' => 20,
        \'supports\' => array(
          \'title\',
          \'editor\',
          \'author\',
          \'revisions\'
        )
      );
      register_post_type(\'press_release\', $args);
    }
    
    现在如果我转到URLhttp://mysite.press-release 然后我到了archive-press_release.php 模板,这是正确的。

    但是,我希望我的CPT存档永久链接是以下类型press-release/%year%

    我在注册CPT时尝试指定上述永久链接结构:

    \'has_archive\' => \'press-release/%year%\'
    
    然而,当我去http://mysite.press-releasehttp://mysite.press-release/2011 在这两种情况下,我都被重定向到index.php 模板不是存档模板。

    要让WordPress明白这一点,我需要添加什么press-release/%year% 带有可选年份部分的permalink实际上是归档模板吗?

    我真的很感激任何帮助!我希望这是可能的。

    我计划在archive-press_release.php 获取正确年份的记录。

    非常感谢,Dasha

    1 个回复
    最合适的回答,由SO网友:chodorowicz 整理而成

    以下是解决方案:

    安装Custom Post Type Archives 插件转到设置->发布类型存档删除url基选项(保留为空)

  • 将模板模式更改为archive-{POST_TYPE}.php
  • 勾选自定义帖子类型,然后单击“保存”,重写/保存自定义永久链接结构press-release/%year%press-release/%year%/%month% 应该有用。

  • 相关推荐

    Post with Custom Permalinks

    我的永久链接设置如下:http://myblog.com/%category%/%postname%/一切正常。但我正在寻找一种方法,只为一些帖子(10-11篇帖子)设置如下永久链接。http://myblog.com/%postname%/我之所以要这样做,是因为我正在合并两个WordPress网站,我不想失去另一个网站的帖子,这些帖子已经以旧的permalink结构发布在Facebook等网站上。

    使用自定义固定链接按日期自定义邮寄类型档案 - 小码农CODE - 行之有效找到问题解决它

    使用自定义固定链接按日期自定义邮寄类型档案

    时间:2011-10-14 作者:dashaluna

    我有点难以让定制的permalink for custom post type(CPT)归档正常工作。

    我已注册我的“press\\u release”CPT,如下所示:

    add_action(\'init\', \'press_release_post_type_init\');
    function press_release_post_type_init() {
      $labels = array(
        \'name\' => _x(\'Press Releases\', \'post type general name\'),
        \'singular_name\' => _x(\'Press Release\', \'post type singular name\'),
        \'add_new\' => _x(\'Add New\', \'Press Release\'),
        \'add_new_item\' => __(\'Add New Press Release\'),
        \'edit_item\' => __(\'Edit Press Release\'),
        \'new_item\' => __(\'New Press Release\'),
        \'view_item\' => __(\'View Press Release\'),
        \'search_items\' => __(\'Search Press Releases\'),
        \'not_found\' =>  __(\'No press release found\'),
        \'not_found_in_trash\' => __(\'No press release found in Trash\'), 
        \'parent_item_colon\' => \'\'
      );
      $args = array(
        \'labels\' => $labels,
        \'public\' => true,
        \'publicly_queryable\' => true,
        \'show_ui\' => true,
        \'has_archive\' => \'press-release\',
        \'rewrite\' => array(\'slug\' => \'press-release/%year%/%postname%\',\'with_front\' => false),
        \'query_var\' => true,
        \'capability_type\' => \'post\',
        \'hierarchical\' => false,
        \'show_in_nav_menus\' => false,
        \'menu_position\' => 20,
        \'supports\' => array(
          \'title\',
          \'editor\',
          \'author\',
          \'revisions\'
        )
      );
      register_post_type(\'press_release\', $args);
    }
    
    现在如果我转到URLhttp://mysite.press-release 然后我到了archive-press_release.php 模板,这是正确的。

    但是,我希望我的CPT存档永久链接是以下类型press-release/%year%

    我在注册CPT时尝试指定上述永久链接结构:

    \'has_archive\' => \'press-release/%year%\'
    
    然而,当我去http://mysite.press-releasehttp://mysite.press-release/2011 在这两种情况下,我都被重定向到index.php 模板不是存档模板。

    要让WordPress明白这一点,我需要添加什么press-release/%year% 带有可选年份部分的permalink实际上是归档模板吗?

    我真的很感激任何帮助!我希望这是可能的。

    我计划在archive-press_release.php 获取正确年份的记录。

    非常感谢,Dasha

    1 个回复
    最合适的回答,由SO网友:chodorowicz 整理而成

    以下是解决方案:

    安装Custom Post Type Archives 插件转到设置->发布类型存档删除url基选项(保留为空)

  • 将模板模式更改为archive-{POST_TYPE}.php
  • 勾选自定义帖子类型,然后单击“保存”,重写/保存自定义永久链接结构press-release/%year%press-release/%year%/%month% 应该有用。

  • 相关推荐

    Plain permalinks not working!

    对于我的wordpress网站,普通永久链接不起作用。帖子url正在更改,但当我们单击帖子时,它不会重定向到帖子页面。它将出现在主页上。例如:http://example.com/?p=14523 如果我将永久链接更改为其他自定义格式,它将正常工作并显示帖子页面。例如:http://example.com/2018/09/01/postname/ 我尝试创建一个新的.htaccess 将永久链接更改为普通后的文件。仍然不工作。