我的定制帖子使用单页时出现问题

时间:2014-04-20 作者:AhmedBinNasser

我正在开发一个包含公文包部分的网站,这一部分我几乎完成了,但我对单个页面有一个问题,即:

每当我点击任何公文包链接时,都会打开一个页面,但除了上一个和下一个链接之外,不会显示任何详细信息,这是正确的our-portfolio) 和定制贴子(slug = portfolio).

我尝试了以下步骤:

我创建了一个名为(single portfolio.php)的新单页,并将其放在我的(single.php)所在的位置,但不起作用

UPDATE

我的自定义帖子参数:

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'menu_icon\'=> \'dashicons-groups\',
    \'show_ui\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'rewrite\' => array(\'slug\' => \'portfolio\', \'with_front\' => true),
    \'query_var\' => true,
    \'show_in_nav_menus\'=> false,
    \'exclude_from_search\' => true,
    \'supports\' => array(\'title\', \'excerpt\', \'page-attributes\')
);

    register_post_type( \'port\', $args );
我希望我没有错过任何东西。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

你的代码看起来很好,所以你应该看看single.php 模板,因为我怀疑该模板中有错误,所以没有显示任何内容。您应该在wp config中将debug设置为true。php。这将帮助您找到问题所在

其次,你的single-posttype.php 名称错误。您的帖子类型注册为“port”,您使用的是“portfolio”。您应该将单页模板命名为与注册帖子类型相同的名称。所以你的单个模板应该是名称single-port.php

为了获得更多信息,这里有一个小技巧,可以强制自定义帖子类型使用模板

function wpse_template_include( $original_template ) {
    if ( isset( $wp->query_vars[\'port\'] ) && false == $wp->query_vars[\'port\']  ) {
        return get_template_directory() . \'/single-port.php\';
    } else {
        return $original_template;
    }
}

add_filter( \'template_include\', \'wpse_template_include\' );

结束

相关推荐

Category with the same slug

我想这样做:www.website.ext/ciccio/pro www.website.ext/mario/pro www.website.ext/giuseppe/pro 为什么我不能那样做?我知道。。段塞/子类别“pro”相同,但在不同的父类别中。所以,我不知道我能做什么/我试过了,但没有成功,因为每次wordpress都会将类别slug改为:“child\\u category-parent\\u category”。谢谢