我在WordPress中制作了一个自定义的帖子类型,并且还制作了它的两页single-acme\\u产品。php,archive-acme\\u产品。php,但问题是当我从自定义帖子类型上传帖子时,它会显示索引。php
这是我的函数代码
function new_post_type_wp(){
register_post_type(\'acme_product\',
array(
\'labels\' => array(
\'name\' => __(\'Products\'),
\'singular_name\' => __(\'Product\')
),
\'public\' => true,
\'has_archive\' => true,
)
);
}
add_action(\'init\',\'new_post_type_wp\');
请告诉我如何将我的自定义帖子导航到特定的自定义页面我也阅读了wordpress codex它的帮助非常充分我遵循它的方法,但我的问题是一样的请帮助我
参考链接:https://codex.wordpress.org/Post_Types
最合适的回答,由SO网友:deflime 整理而成
由于WordPress无法识别您的自定义模板文件,您可以改用它。
插入到single.php
文件根据你上面的描述,听起来你没有single.php
文件,因此您可能必须创建一个。如果您已经有single.php
文件,那么很可能仍然存在一些与您的确切问题相混淆的地方,因为自定义帖子只会显示index.php
模板,如果没有single.php
. 或者你可能只是混淆了两者。
<?php
if( get_post_type == \'acme_product\' ) {
// Put the template code to display the custom post type post
} else {
// Code for all other posts
}
?>
这将适用于任何默认的WordPress帖子相关模板文件,如类别、档案等。
SO网友:user57831
好的,如果我对你的要求没有错,下面的解决方案可能会有所帮助。1、让您成为sing-acme\\u产品。php作为模板,例如:
<?php
/**
Template Name: the new of the template
*/
使用WP\\u查询,例如:
$products=新的WP\\U查询(“post\\U类型=产品”);if($products->have\\u posts()):while($products->have\\u posts()):$products->the\\u post();
结束时;endif;wp\\u reset\\u postdata();
希望这会有所帮助。