我们在做wordpress企业站的时候常常需要增加自定义文章类型
类似于产品中心,案例中心,新闻资讯
不同分类需要调用不同的模板,所以我们可以通过自定义文章类型来定义
下面以添加产品中心来举例:
1.在主题函数functions.php中添加一下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
add_action( 'init', 'create_product_post_types' ); function create_product_post_types() { register_post_type( 'product', array( 'labels' => array( 'name' => __( '产品中心' ), 'singular_name' => __( '产品中心' ), 'add_new' => __( '添加' ), 'add_new_item' => __( '创建' ), //'edit' => __( 'Edit' ), // 'edit_item' => __( 'Edit Super Duper' ), 'new_item' => __( '所有产品' ), //'view' => __( 'View Super Duper' ), //'view_item' => __( 'View Super Duper' ), 'search_items' => __( '搜索' ), 'not_found' => __( '没有搜索到' ), 'not_found_in_trash' => __( '没有搜索到' ), //'parent' => __( 'Parent Super Duper' ), ), 'public' => true, //'rewrite' => array('slug' => 'job'), //'menu_position' => 15, 'supports' => array( 'title', 'editor','thumbnail','excerpt', 'author' ), //'taxonomies' => array( '' ), //'menu_icon' => plugins_url( 'images/image.png', __FILE__ ), 'has_archive' => true, ) ); } |
2.增加wordpress自定义文章的分类功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
add_action( 'init', 'create_product_taxonomies', 0 ); function create_product_taxonomies() { register_taxonomy( 'product_genre', 'product', array( 'labels' => array( 'name' => '产品分类', 'add_new_item' => '添加分类', 'new_item_name' => "新分类" ), 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true ) ); } |
wordpress自定义文章类型的调用方法,只需要新增分类页archive-product.php 和文章页single-product.php
如果要在模板页面调用自定义文章类型的分类文章列表就需要用到以下代码;
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php query_posts('post_type=product&showposts=6'); ?> <?php while (have_posts()) : the_post(); ?> <div class="col-sm-3 col-md-2 col-mm-6 product_img"> <a href="<?php the_permalink() ?>"> <?php if ( has_post_thumbnail() ) { ?> <?php the_post_thumbnail(array(270,270)); ?> <?php } else {?> <img src="<?php bloginfo('template_url'); ?>/images/554838fc3e9f9.jpg" /> <?php } ?> </a> <p class="product_title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p> </div> <?php endwhile; ?> |