2013-05-06 114 views
1

我有两个自定义帖子类型,讲道和成员的主题。我也有永久链接设置为postname。Wordpress单帖子模板不显示帖子

首先,single.php会捕获一般的博客帖子,以及成员,但不是布道......它只会显示index.php文件。

经过一番研究,我发现重置(保存)永久链接将重置它们。这种工作现在捕捉成员自定义帖子,但只显示布道的index.php。

这是我怎么称呼他们?

// Custom Post types for Sermons 
add_action('init', 'sermons'); 

function sermons() { 
    $args = array(
    'labels' => array(
     'name' => __('Sermons'), 
     'singular_name' => __('Sermons'), 
     'add_new' => __('Add Sermon'), 
     'add_new_item' => __('Add Sermon'), 
     'edit_item' => __('Edit Sermon'), 
     'new_item' => __('Add Sermon'), 
     'view_item' => __('View Sermon'), 
     'search_items' => __('Search Sermons'), 
     'not_found' => __('No Home Sermons found'), 
     'not_found_in_trash' => __('No Sermons found in trash') 
    ), 
    'public' => true, 
    'show_ui' => true, 
    'capability_type' => 'post', 
    'hierarchical' => false, 
    // 'menu_icon' => WP_CONTENT_URL . '/themes/####/images/home-widget.png', 
    'rewrite' => true, 
    'exclude_from_search' => true, 
    'menu_position' => 20, 
    'supports' => array('title', 'editor', 'thumbnail', 'page-attributes'), 
    'has_archive' => true 
); 

    register_post_type('sermons',$args); 
} 

// Custom Post types for Members 
add_action('init', 'members'); 

function members() { 
    $args = array(
    'labels' => array(
     'name' => __('Members'), 
     'singular_name' => __('Members'), 
     'add_new' => __('Add Member'), 
     'add_new_item' => __('Add Member'), 
     'edit_item' => __('Edit Member'), 
     'new_item' => __('Add Member'), 
     'view_item' => __('View Member'), 
     'search_items' => __('Search Members'), 
     'not_found' => __('No Home Members found'), 
     'not_found_in_trash' => __('No Members found in trash') 
    ), 
    'public' => true, 
    'show_ui' => true, 
    'capability_type' => 'post', 
    'hierarchical' => false, 
    // 'menu_icon' => WP_CONTENT_URL . '/themes/####/images/home-widget.png', 
    'rewrite' => true, 
    'exclude_from_search' => true, 
    'menu_position' => 20, 
    'supports' => array('title', 'editor', 'thumbnail', 'page-attributes'), 
    'has_archive' => true 
); 

    register_post_type('members',$args); 
} 

我曾尝试单sermons.php和单members.php,既不似乎工作。这是我注册每个自定义帖子类型,打破这种方式吗?

****编辑**** 从$ args中删除'rewrite' => true,一切都很好,但我宁愿有SEO友好的网址。

**** ****编辑固定 它......显然,除去在ARGS 'rewrite' => true,清爽的永久链接,然后再重新加入'rewrite' => true,并获得成功。

+1

只是想知道是否设置'public_queryable'=> true,作为参数有帮助。 http://codex.wordpress.org/Function_Reference/register_post_type#Arguments。如果你设置single-sermons.php和single-members.php模板呢? – McNab 2013-05-06 18:50:18

+0

是的,试过了。它不会出于某种原因。我会尝试你的建议。非常感谢 – Seth 2013-05-06 18:59:35

回答

8

在创建自定义帖子类型后,您应该执行flush_rewrite_rules(),这会为您刷新固定链接结构。

只需在register_post_type()函数后添加flush_rewrite_rules()即可。

更多信息:http://codex.wordpress.org/Function_Reference/flush_rewrite_rules

+0

它的工作,通过做它应该的。但它也使我回到了原来的问题。 – Seth 2013-05-07 13:38:22

+0

我怀疑你在上面的代码中存在的问题,我没有看到任何异常 – user2019515 2013-05-08 16:26:11

2

修复它...显然,在参数中删除'rewrite' => true,刷新固定链接,并再次添加'rewrite' => true,是否有窍门。

0

重新保存永久链接为我工作。 (设置 - >固定链接 - >保存)。

+0

我在问题中提到保存永久链接并没有完全解决问题。玛丽路易斯帕克编码 – Seth 2014-11-28 00:58:13

+0

我知道,但删除'rewrite'=> true并不适合我,所以永久链接修复可能适用于其他人使用相同的情况。干杯 – fanta 2014-12-08 05:24:57

0

设置publicly_queryable => true解决了我的问题。