我知道有很多关于CPT和permlinks以及404的讨论。虽然我很接近,但我没有找到解决方案。如果有人能帮我把它修好,那就太好了。
我所做的是:
function post_type_services()
{
register_post_type( \'services\',
array(
\'label\' => __(\'Services\'),
\'singular_name\' => __( \'Service\' ),
\'capability_type\' => \'post\',
\'rewrite\' => array(\'slug\' => \'service\',\'with_front\' => FALSE),
\'public\' => true,
\'show_ui\' => true ) );
flush_rewrite_rules( false );
}
add_action(\'init\', \'post_type_services\');
我为服务添加了CPT。我加了一个鼻涕虫
flush_rewrite_rules(false)
正如许多博客帖子所建议的那样。
我打开了设置的永久链接/%year%/%monthnum%/%postname%
我添加了一个文件single-services.php
其中包含以下内容
<?php
get_header();
?>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<?php query_posts(\'post_type=services\'); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<div class="article">
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<?php wp_link_pages( array( \'before\' => \'\' . __( \'Pages:\', \'twentyten\' ), \'after\' => \'\' ) ); ?>
<?php edit_post_link( __( \'Edit\', \'twentyten\' ), \'\', \'\' ); ?>
</div>
<?php endwhile; ?>
</div>
<div class="sidebar">
<div class="gadget">
<h2>Auswahl</h2>
<div class="clr"></div>
<?php wp_nav_menu( array( \'sort_column\' => \'menu_order\', \'menu_class\' => \'sb_menu\', \'theme_location\' => \'leftmain\' ) ); ?>
</div>
<?php get_sidebar(); ?>
</div>
</div>
<div class="clr"></div>
</div>
<div class="fbg">
<div class="fbg_resize">
<div class="footer">
<?php get_footer(); ?>
</div>
</div>
</div>
到目前为止还不错。我想要的是。如果我导航到
http://www.mydomain.com/service 我想查看我的服务列表,当我单击单个服务时,我想显示单个服务。
我现在得到的是当我导航到http://www.mydomain.com/service. 我有一辆404但是当我去http://www.mydomain.com/service/my-first-service 我看到了服务列表。。。
我做错了什么?访问时如何获取服务列表http://www.mydomain.com/service ?
P、 S:我使用starkers基本模板生成我自己的。。。