我目前正在为我和我的一个朋友建立一个Wiki,其目的是建立一个带有标签,歌词,连接等的集中式协作音乐系统。
歌曲,专辑,口译等类别在这里非常有用(我们不想错过它们),但我们不断面临内部链接越来越长,可读性越来越低的问题,因为我们必须用“(歌曲)”和每张专辑“(专辑)”等后缀每首歌曲。原因是歌曲,专辑和诠释之间存在歧义,就像歌曲与专辑中的专辑名称相同时
我偶然发现了namespace aliases,但这并没有解决歧义问题。这同样适用于所有可用的扩展here。
我想要做的是创建一个新的命名空间(例如“Album”),这样我就可以摆脱后缀。我知道如何添加名称空间等,如here,here和here所述,但我没有找到任何关于让它们表现得像是类别的信息,i。即将[[Album:Whatever]]
放在页面末尾Song:Whatever
会将该歌曲包含在类别Album:Whatever
中,如果我想输出不带前缀的类别链接,我会输入[[:Album:Whatever|Whatever]]
}。
有没有人知道如上所述从类别命名空间添加自定义命名空间“派生”的方法?真的很感激任何帮助。提前谢谢。
答案 0 :(得分:0)
也许我并没有完全找到你,因为这听起来像是一种过于复杂的做事方式。为什么不简单地使用模板?
您可以拥有一个名为“Album”(或“Albumcat”或类似名称)的模板,如下所示:
add_action( 'save_post', 'collect_tags' );
// ...
function collect_tags($postId){
$terms = get_object_term_cache( $postId, 'post_tag' );
if ( false === $terms ) {
$terms = wp_get_object_terms( $postId, 'post_tag' );
}
if( empty( $terms )) {
$terms = wp_get_post_tags( $postId );
}
return $terms;
}
然后您可以将其简单地包含在文章页面中:
{{1}}
......文章将被归类为“专辑:城市赞美诗”。