首页 文章

在WordPress中使用Jetpack Portfolio Project子主题不会调用存档自定义模板

提问于
浏览
5

我有一个子主题,使用新的Jetpack Portfolio Project自定义帖子类型,并希望修改archive.php以显示自定义结果 .

我正在使用:WordPress v3.9.2;主题:Point的子项,Jetpack安装时启用了自定义内容类型,并在“设置”中选择了“项目组合” . (没有安装实现组合功能的其他插件 . )

According to the Codex

模板文件同样地,单个帖子及其档案可以分别使用single.php和archive.php模板文件显示,自定义帖子类型的单个帖子将使用single- .php,他们的档案将使用archive- .php如果你没有这个帖子类型的存档页面,你可以传递BLOG_URL?post_type = ,其中是register_post_type()函数的$ post_type参数 .

我的理解是,如果你在子主题中创建名为single-jetpack-portfolio.php和archive-jetpack-portfolio.php的文件,WordPress将自动分别使用这些文件代替single.php和archive.php .

但是,我的子主题成功调用了single-jetpack-portfolio.php,但完全忽略了archive-jetpack-portfolio.php,而是在子代中调用archive.php .

我被困在一个解决方案 .

从上面的代码中,添加到URL“?post_type = jetpack-portfolio”会导致子主题正确使用archive-jetpack-portfolio.php,但是我是否需要手动修改每个URL以明确指定它? WordPress应该不会自动检测到这一点,就像单一jetpack-portfolio.php文件一样吗?我怎么解决这个问题?

我试过了:

  • 重置固定链接以防与固定链接相关(更改“设置”中的选项并保存并再次返回)

  • 除了archive-jetpack-portfolio.php之外,还向子项添加了archive.php文件(我最初没有't have an archive.php in the child, so it used the parent' s archive.php)

  • 发布一个新的Jetpack项目组合项目并更新现有页面(我在某处发布了一些内容可能会触发Wordpress来查看更改)

在此先感谢您的帮助 .

2 回答

  • 1

    我有同样的问题由OP描述 . 当我访问mydomain.com/portfolio时,它将使用自定义存档模板 . 当我尝试查看项目类型时,它默认为常规archive.php . 我想知道OP是否在没有意识到的情况下查看项目类型页面 .

    我的解决方案是创建一个分类模板文件 . 在玩完它后我发现了

    • taxonomy.php

    • taxonomy-jetpack-portfolio-type.php

    • taxonomy-jetpack-portfolio-type- .php

    一切都正常,取决于你想要的具体程度 .

    wordpress codex上有更多信息:http://codex.wordpress.org/Template_Hierarchy#Custom_Taxonomies_display

    希望这有助于某人 .

  • 2

    接下来的几天我将继续努力 .

    你应该在孩子 archive.php 第一行尝试这个:

    <?php
        if( is_post_type_archive('jetpack-portfolio') )
            get_template_part('content', 'jetpack-portfolio');
    
        elseif( is_tax('jetpack-portfolio-type') || is_tax('jetpack-portfolio-tag') )
            get_template_part('archive', 'jetpack-portfolio');
    
        else continue;
    ?>
    

相关问题