我已经建立了一个名为推荐的自定义帖子类型的网站,并且正在使用自定义模板来显示帖子编辑:模板名称是页面推荐。php。使用默认的永久链接结构时,一切都正常工作,但是当我将永久链接设置为/%postname%/时,自定义模板将被忽略,帖子将显示在博客存档中。。。。
这是我用来注册帖子类型的代码。我是否遗漏了使其使用定制永久链接的适当模板所需的内容?
add_action( \'init\', \'create_post_type\' );
function create_post_type() {
register_post_type( \'testimonial\',
array(
\'labels\' => array(
\'name\' => __( \'Testimonials\' ),
\'singular_name\' => __( \'Testimonial\' ),
\'add_new_item\' => __(\'Add New Item\'),
\'edit_item\' => __(\'Edit Item\'),
\'new_item\' => __(\'New Item\'),
\'view_item\' => __(\'View Item\'), \'add_new_item\' => __(\'Add New Item\'),
\'edit_item\' => __(\'Edit Item\'),
\'new_item\' => __(\'New Item\'),
\'view_item\' => __(\'View Item\')
),
\'public\' => true,
\'has_archive\' => true,
\'rewrite\' => array(\'slug\' => \'testimonials\',
\'show_in_nav_menus\' => true,
\'capability_type\' => \'page\',
\'hierarchical\' => true,
\'supports\' => array( \'title\', \'editor\', \'thumbnail\' ),
\'query_var\' => true)
)
);
}
最合适的回答,由SO网友:chrisguitarguy 整理而成
自定义帖子类型的层次结构与页面或帖子不同。
他们将使用single-{{post_type}}.php
然后回到single.php
. Post-type存档将使用archive-{{post_type}}.php
然后回到archive.php
.
您的问题并不十分清楚,但如果您希望自定义帖子类型的单数页面使用page-testimonials.php
模板,重命名为single-testimonials.php
.
然而,我怀疑你的意思是page-testimonials.php
正在显示一份推荐信列表。在这种情况下,请将其重命名为archive-testomonials.php
它应该可以正常工作。之前发生的事是你看到了permalinkyoursite.com/?page_id={{some_number}}
. 这是可行的--它始终是一个页面,但使用您注册的post类型(使用\'has_archive\' => true
) yoursite.com/testimonials
尝试显示自定义post类型存档。
最后一点注意:如果您进行了任何查询修改或二次查询以获取testimonials
在您的page-testimonials.php
模板,你可以移除它们。WordPress将负责确保在archive-{{post_type}}.php
样板
您还应该看看template hierarchy
SO网友:responsivelab
我看到一个错误:
add_action( \'init\', \'create_post_type\' );
function create_post_type() {
register_post_type( \'testimonial\',
array(
\'labels\' => array(
\'name\' => __( \'Testimonials\' ),
\'singular_name\' => __( \'Testimonial\' ),
\'add_new_item\' => __(\'Add New Item\'),
\'edit_item\' => __(\'Edit Item\'),
\'new_item\' => __(\'New Item\'),
\'view_item\' => __(\'View Item\'), \'add_new_item\' => __(\'Add New Item\'),
\'edit_item\' => __(\'Edit Item\'),
\'new_item\' => __(\'New Item\'),
\'view_item\' => __(\'View Item\')
),
\'public\' => true,
\'has_archive\' => true,
\'rewrite\' => array(\'slug\' => \'testimonials\'), **<---- miss )**
\'show_in_nav_menus\' => true,
\'capability_type\' => \'page\',
\'hierarchical\' => true,
\'supports\' => array( \'title\', \'editor\', \'thumbnail\' ),
\'query_var\' => true)
)
);
}