Wordpress自定义帖子类型单页

时间:2016-02-05 10:39:39

标签: php wordpress

我在WordPress中创建了一个自定义帖子类型,其中CPT UI名为eggs。

在名为eggs.php的文件中,我输入了以下代码:

<?php
$args = array('post_type' => 'eggs');
$query = new WP_Query($args);
?>

<?php if ($query->have_posts() ) : while( $query->have_posts() ) : $query->the_post(); ?>
      <a href="<?php the_permalink(); ?>" Go to Eggs Single Page</a>
<?php endwhile; endif; wp_reset_postdata(); ?>

现在我创建了一个名为single-eggs.php的文件,当我点击固定链接时,它会将我重定向到一个页面,其中显示“抱歉,没有帖子可以满足您的标准。” 。它不会像我想的那样转到单页egg.php。

编辑:目前我正在使用WebDevStudios的自定义帖子类型UI插件。 当我使用OnTheGoSystems的Types插件时,它会找到single-template.php。这个插件可能有问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用register_post_type功能注册自己的CPT,而不是使用插件注册自定义帖子类型:

function my_cpt_eggs(){
    $labels = array(
        'name'                          => __( 'eggs' ),
        'singular_name'                 => __( 'egg' ),
        'menu_name'                     => __( 'eggs' ),
        'all_items'                     => __( 'All eggs' ),
        'add_new'                       => __( 'Add egg' ),
        'add_new_item'                  => __( 'Add New egg' ),
        'edit_item'                     => __( 'Edit egg' ),
        'new_item'                      => __( 'New egg' ),
        'view_item'                     => __( 'View egg' ),
        'search_items'                  => __( 'Search eggs' ),
        'not_found'                     => __( 'Not found' ),
        'not_found_in_trash'            => __( 'Not found in Trash' )
    );
    $args = array(
        'label'                         => __( 'eggs' ),
        'labels'                        => $labels,
        'description'                   => __( 'egg items' ),
        'public'                        => true,
            'exclude_from_search'       => false,
            'publicly_queryable'        => true,
            'show_ui'                   => true,
            'show_in_nav_menus'         => true,
                'show_in_menu'          => true,
                    'show_in_admin_bar' => true,
                    'menu_position'     => 10,
        'capability_type'               => 'post',
        'map_meta_cap'                  => true,
        'hierarchical'                  => false,
        'supports'                      => array( 'title', 'editor', 'excerpt', 'thumbnail' ),
        'taxonomies'                    => array(),
        'has_archive'                   => true,
        'query_var'                     => true,
        'can_export'                    => true,
    );
}
add_action( 'init', 'my_cpt_eggs' );

将上述代码段放在functions.php文件中。

之后你可以创建你的single-eggs.php,一切都会好的。

请记住,您可能需要刷新重写规则。为此,你应该去

Wordpress Admin > Settings > Permalinks

然后点击底部的保存设置按钮。