自定义POST类型固定链接发送到404.php

时间:2012-08-20 作者:Nistor Alexandru

您好,我已经创建了自定义帖子类型和自定义分类法。自定义帖子类型页面名为page portfolio。php。我在其中创建了一个循环,我试图链接到每个帖子的单个页面。为此,我创建了一个单一投资组合模板。php,但由于某种原因,当我单击永久链接时,我会被发送到404。php页面。这是我的整个结构代码:

//custom post type and taxonomy declaration
<?php

add_action(\'init\' , \'portfolio_manager\');

function portfolio_manager(){
    $args = array(
            \'label\' => \'Portfolio Manager\',
            \'singular_label\' => \'Portfolio Manager\',
            \'public\' => true,
            \'show_ui\' => true,
            \'capability_type\' => \'post\',
            \'hierarchical\' => false,
            \'supports\' => array(\'title\' , \'editor\' , \'thumbnail\'),
            \'rewrite\' => array(
                \'slug\' => \'portfolio\',
                \'with_front\' =>false
            )
    );
    register_post_type(\'portfolio\' , $args);
}

add_action(\'init\' , \'portfolio_taxonomy\');

function portfolio_taxonomy(){
    register_taxonomy("portfolio-type", 
                      array("portfolio"),
                      array("hierarchical" => true, 
                                "label" => "Portfolio Types",
                                "singular_label" => "Portfolip Type", 
                                "rewrite" => true, 
                                "slug" => \'portfolio-type\'
                                )
                     );
}
?>
//page-portfolio.php loop
$portfolio = new WP_Query(array(
                        \'post_type\'=>\'portfolio\',
                        \'posts_per_page\'=>\'-1\'
                    ));
                    while($portfolio->have_posts()): $portfolio->the_post();
                     global $post;
                 ?>
                 <li class ="item" data-type="<?php echo str_replace(" " , "" , strip_tags(get_the_term_list($post->ID, \'portfolio-type\' , \'\' , \'\' , \'\'))); ?>" data-id="id-<?php the_ID(); ?>">
                            <span><a href="<?php the_permalink(); ?>">Details</a></span>
                      <?php
                        endif
                      ?> 
                 </li>

                 <?php
                     endwhile;
                 ?>       
如果是单一投资组合。php不是我应该为这个页面创建的页面模板,那么什么是corect模板?

如果是单一投资组合。php是corect模板,那么我在这里做错了什么呢。为什么permalink不让我单身呢。文件夹php?

1 个回复
最合适的回答,由SO网友:Chris_O 整理而成

创建新的自定义帖子类型时,必须先刷新重写规则,然后才能使用单个永久链接。

转到设置->永久链接。访问“设置”页面将刷新您的重写规则,您的单一帖子类型永久链接现在可以工作。

结束

相关推荐

Page Name and Permalinks

我正在使用WordPress 3.2.1,刚刚在我的网站上添加了一个名为“中心管理”的页面,这反过来又创建了一个永久链接:http://localhost:8888/mysite/centre-management/对于我刚刚创建的页面。之后,我把这个页面弄得一团糟,想重新开始。因此,当我现在创建另一个与上述名称相同的新页面时,即“中心管理”,WordPress现在为我创建一个永久链接:‎http://localhost:8888/mysite/centre-管理-2/这不是我想要的。我希望它显示为:ht