serverinfo
  • 0
Новичок

Пермлинки пользовательских типов записей WP 3.1

  • 0

Я знаю, что существует много дискуссий о CPT и постоянных ссылках вместе с 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 ?

PS: я использую базовый шаблон starkers для создания собственного…

Share
  1. Вам нужно добавить следующее в ваш register_post_type() массив:

    'has_archive' => 'service'

    • 0

Оставить ответ

You must login to add an answer.