我正在开发一个包含公文包部分的网站,这一部分我几乎完成了,但我对单个页面有一个问题,即:
每当我点击任何公文包链接时,都会打开一个页面,但除了上一个和下一个链接之外,不会显示任何详细信息,这是正确的它还使用单键。php和我无法更改它考虑到我的主要帖子链接是(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 );
我希望我没有错过任何东西。
最合适的回答,由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\' );