不能将项目设置为永久链接的基础,因为必须为每个项目输入重写规则。
您可以做的是创建custom taxonomy related-resources
:
function wpse_287202_related_resources_taxonomy() {
$labels = array(
...
);
$args = array(
\'labels\' => $labels,
\'hierarchical\' => true,
\'public\' => true,
\'show_ui\' => true,
\'show_admin_column\' => true,
\'show_in_nav_menus\' => true,
\'show_tagcloud\' => true,
);
register_taxonomy( \'related-resources\', array( \'product\', \'post\', \'page\' ), $args );
}
add_action( \'init\', \'wpse_287202_related_resources_taxonomy\', 0 );
它需要与您的
product
自定义帖子类型以及要添加到相关资源的帖子、页面或其他自定义帖子类型。您可以通过更改
register_taxonomy
.
在您的product
自定义帖子类型添加related-resources
到taxonomies
:
\'taxonomies\' => array( \'related-resources\' ),
现在,当您编辑项目时,将“惊人的项目17”添加到相关资源分类中,方法与您添加类别并仅检查它所涉及的项目相同。在此设置中,您不能让一个项目成为其他项目的相关资源,但这是可以更改的。
在每个帖子、页面或自定义帖子类型中,除了project
如果您与分类法关联,可以选择“惊人项目17”,它将显示为该特定项目的相关资源。
现在您需要显示所有内容,并知道要使用哪个模板检查WP Hierarchy. 相关资源将使用taxonomy-related-resources.php
文件只需确保排除project
从显示为相关资源分类的一部分开始,通过检查get_post_type()
.
要在项目页面上显示相关资源的链接,请使用:
$term = get_the_terms( $post->ID, \'related-resources\' )[0];
echo \'<a href="\' . esc_url( get_term_link( $term, \'related-resources\' ) ) . \'">\' . __( \'Related Resoucrces\', \'text_domain\' ) . \'</a>\';
如果事情看起来令人困惑,请阅读更多关于自定义分类法的内容,以及如何将它们与自定义帖子类型一起使用。