无法显示自定义后期类型-wordpress的帖子的详细信息

时间:2013-12-03 08:15:53

标签: php wordpress routing

我有像这样的自定义帖子类型

add_action( 'init', 'create_post_type_feedback' );

function create_post_type_feedback() {
    register_post_type( 'testimonial',
        array(
            'labels' => array(
                'name' => __( 'Feedbacks' ),
                'singular_name' => __( 'Feedback' )
            ),
            'supports' => array('title','editor','thumbnail','custom-fields'),
            'public' => true,
            'has_archive' => true,
        )
    );
}

在页面中,我显示了推荐列表,并使用函数get_permalink()来获取超链接。为了显示推荐帖子的详细信息,我有“single-testimonial.php”,但每当我点击查看推荐的详细信息时,它会将我重定向到像'.... / testimonial / postname'这样的链接。虽然有单证。 php,它显示了404.php的内容。

如何显示自定义帖子类型的帖子的详细信息?

2 个答案:

答案 0 :(得分:1)

要使单个帖子页面起作用,您必须在注册自定义帖子类型功能中添加一些内容...即:

'public' => true,                            // yes you want it to be public?
'show_ui' => true,                           // you want it shown in the admin area
'show_in_menu' => true,                      // show it in menus etc..
'rewrite' => array('slug' => 'testimonial'), // this is the permalink structure 
'show_in_nav_menus' => true,                 // show in navigation menus
'publicly_queryable' => true,                // include this in searches
'query_var' => true,                         // do you want to pass values?
'capability_type' => 'post',                 // is it like a post or page?
'menu_position' => 25,                       // the position on the admin menu!

添加slug应该可以做到, 注意:一旦设置了slug,转到settings->固定链接设置回默认值,然后设置回postname,刷新重写规则,所以wordpress知道它在那里工作!应该这样做,你不需要将任何模板代码添加到任何文件,

只需添加单个testimonial.php,它应该工作或 page-testimonial.php取决于你想要它的设置..

玛蒂

答案 1 :(得分:0)

在您的single-testimonial.php中,请确保此行位于顶部:

// Template Name: Single Testimonial template

这是Wordpress可以知道这是一个模板文件,并允许您在创建推荐帖子时从“页面属性”部分选择它。

其次,使用get_post_permalink()函数代替get_permalink()。这是why