为1个帖子类型实施单独的模板

时间:2013-04-23 作者:ptriek

我有一个自定义的post类型“courses”,其中课程描述作为post\\u内容,附件数量也有一个自定义post类型“course units”,通过自定义字段“course id”链接到课程

我为课程仪表板创建了一个模板文件,其中显示了单元列表和几个链接,指向课程描述和附件存档。

我的(非常一般的)问题:

我被困在如何为描述创建/实现单独的“页面”和附件归档上,我无法理解一些其他信息:

我没有使用“pretty permalinks”(因为一些插件冲突),所以课程仪表板的URL只是http://www.example.com/?course=slug-of-the-coursehttp://www.example.com/?course=slug-of-the-course&showdesc=1, 和上的附件http://www.example.com/?course=slug-of-the-course&showatt=1 - 这两个URL都应转发到“我的主题”文件夹中的特定模板文件

2 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

您可以使用模板重定向操作来检查是否为描述设置了参数,并基于此可以显示所需的模板。

<?php 

add_action(\'template_redirect\', \'course_template_redirect\', 1);

function course_template_redirect()
{
    global $wp_query;
    if($wp_query->post_type==\'courses\' and $_REQUEST[\'showdesc\']==\'1\')
    {
        //include your template from your theme folder. for e.g include(\'mytheme/coursetemplate.php\');

    }
}

?>

SO网友:sr83

如果描述和附件需要单独的URL,那么我会创建“附件”作为包含描述的“课程”的单独帖子类型。

然后,从您的主要自定义帖子类型“课程”中,我将使用Posts 2 Posts 插件。

结束

相关推荐

Custom post types templates

我已经注册了一个名为“Services”的自定义帖子类型,但当我给这篇帖子提供模板“single Services.php”时,它不接受这个,而是选择了“homepage.php”模板,你能告诉我这个问题吗?它也没有使用“archive services.php”模板,而是使用blog模板(index.php)使现代化代码如下:add_action(\'init\', \'services_register\'); function services_register() { $