我正在一个电视网站上工作,该网站有几个独立但相关的自定义帖子类型(如连续剧、剧集、视频)。
这些帖子类型之间存在层次关系——剧集属于系列,视频可以属于系列和/或剧集。这些关系是通过子条目上的元键设置的,该元键标识父条目。
从结构上看,这似乎还可以,但我对permalinks有问题。
默认情况下,WordPress显示URL如下:
Series Archive and Single Entry (OK):
域/系列/
域/系列/系列名称/
Individual Episode (Not OK):
/域/集/集名称/
有了这个permalink,不清楚这一集与哪个系列有关。在某些情况下,如果剧集名称相同(例如“Pilot”,则会自动生成名称,如“Pilot-2”和“Pilot-3”。
Desired URL structure for individual episode (or video)
/域/系列/系列名称/集/集名称/
/域/系列/系列名称/视频/视频名称/
我试着根据我在网上找到的一些博客文章拼凑出一些代码,但没有成功。以下是我当前正在尝试的代码:
function custom_rewrites() {
global $wp_rewrite;
add_rewrite_tag(\'%episodename%\', \'([^&]+)\', \'episodes=\');
add_permastruct(\'episodes\', \'/series/series_placeholder/episodes/%episodename%\', false);
add_rewrite_rule(\'^episodes/([^/]*)/([^/]*)/?\',\'index.php?series=$matches[1]&episodes=$matches[2]\',\'top\');
}
add_action( \'init\', \'custom_rewrites\', 10, 0 );
我觉得我有点接近了,但我显然错过了一些东西(或一些东西)。
任何帮助都将不胜感激!