wordpress自定义文章类型功能添加

2023-01-16 13:26:53 浏览数 (1)

公司的自研主题开发,最近几个都需要用到:自定义文章类型 通过自定义文章类型来,来处理和归类不同的内容类型 下面以添加产品中心来举例:

1.在主题函数functions.php中添加一下代码

代码语言:javascript复制
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自定义文章的分类功能

代码语言:javascript复制
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
        )
    );
}

自定义文章类型的调用方法,只需要新增分类页archive-product.php 和文章页single-product.php 如果要在模板页面调用自定义文章类型的分类文章列表就需要用到以下代码:

代码语言:javascript复制
<?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/qmzm.jpg" />
<?php } ?>
        </a>
 <p class="product_title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>
    </div>
<?php endwhile; ?> 

0 人点赞