自定义POST类型永久链接缺失/POST_TYPE/FORENT

时间:2017-12-08 作者:Djave

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

register_post_type( \'tour\',
    [
        \'labels\' => [
            \'name\'          => __( \'Tour shows\' ),
            \'singular_name\' => __( \'Tour show\' )
        ],
        \'public\'              => true,
        \'menu_icon\'           => \'dashicons-tickets-alt\',
        \'has_archive\'         => \'tour\', // also tried true
        \'with_front\'          => true,
        \'exclude_from_search\' => true, 
        \'taxonomies\'          => [\'post_tag\'],
        \'rewrite\'             => [\'slug\' => \'shows-on-tour\'],
        \'supports\'            => [\'title\', \'editor\', \'thumbnail\']
    ]
);
(在试图使其发挥作用的过程中,这一点遭到了一些破坏)

我遇到了一个问题get_permalink($tour->ID) 它返回:

example.com/post-title
然后将您重定向到

example.com/shows-on-tour/post-title
问题是,我有一个单独的帖子类型用于“演出不在巡演”,所以每当我链接到:

example.com/post-title
我最终到达:

example.com/shows-not-on-tour/post-title
如何使用get_permalink 在任一帖子类型上,并让它返回完整的url到前面有正确帖子类型的帖子?

在编辑器中更新,当我编辑教程时,它清楚地显示:

example.com/shows-on-tour/post-title
而非巡回演出:

example.com/shows-not-on-tour/post-title
所以问题一定在于我打电话的方式/地点get_permalink.

1 个回复
SO网友:Djave

在我的情况下,在设置帖子类型之前,我试图获取永久链接。

我仔细检查了动作参考:https://codex.wordpress.org/Plugin_API/Action_Reference

并更新了我用来触发主题设置的挂钩。完成后,get\\u permalink按预期工作。

结束

相关推荐

How to replace permalinks

我已将wordpress项目导出并导入live server。现在的问题是,我将permalink结构作为“localhost”格式。当我单击网站中的任何链接时,它会将我重定向到localhost。我怎样才能改变这一点?我的htaccess文件如下所示<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /myproject/ RewriteRule ^index\\.php$ - [L] RewriteCo