WordPress Slug用占位符重写自定义帖子类型(%year%)

时间:2018-11-07 12:01:23

标签: php wordpress url-rewriting slug

我在为WordPress中的自定义帖子类型定义重写规则时遇到一些问题。

注册自定义帖子类型时,我可以正常重写子弹

'rewrite' => array('slug' => 'events','with_front' => false),

这会将我的子弹重命名为事件。

如果添加带有占位符的重写,我将无法正常工作:

'rewrite' => array('slug' => 'events/%year%','with_front' => false),

我还尝试遵循以下其他示例: https://wordpress.stackexchange.com/questions/173440/custom-post-type-with-modified-permalink-structure-results-in-404

没有成功。 在WordPress后端中,我会看到一条saying %year%,而不是实际年份。

我也在使用WordPress Rest API 也会在其中显示占位符,而不是实际年份: enter image description here

我将如何实现以下目标 我想将自定义帖子类型的代码重写为:

events/2017/my-event-name 我认为这是指 events/%year%/%postname%

我还看到了我的其余API与后端中的slug预览之间的差异。

例如,我进行了一次测试重写:

function events_rewrite_rules(){
    add_permastruct( 'events', 'events2/test/%postname%/%author%/%year%/%events%', array('with_front' => false));
}

这样会出现在后端

enter image description here

您可以看到%postname%的设置正确(=投标) 而%year%%author%一样被忽略。

如果我加载REST API,那么那里什么也看不到... 它只会在post type register函数中显示重写: 'rewrite' => array('slug' => 'events','with_front' => false),

如果有人能在这里帮助我,我将感到非常高兴。我想我不完全理解所有这些。

欢呼

0 个答案:

没有答案