本文为您总结了如何在WordPress中自定义模板以实现特殊文章内容发布需求。通过创建自定义函数来创建项目post类型和分类,并在functions.php文件中安装了这些函数。同时还创建了一个自定义模板,该模板在后台显示添加新项目的界面,并在前端测试了项目详情页的展示。如果您需要更多实效功能,请持续关注FUNION数字营销。如果您有外贸建站和SEO需求,欢迎提交文章留言表单,我们会第一时间联系您。
大家好,我是Funion数字营销实战派飞小优,很多时候苦于自带主题功能缺乏而无法满足自身的运营需求,因此需要解决这一诉求而不得不思考如何采用什么方式解决,插件还是手写?笔者是一个不太愿意多装插件的,正所谓自己动手丰衣足食,因此将该需求制作过程简单做个经验分享,给有需要的企业带来点帮助。
需求描述
因WP本身文章发布功能细节很完善,但出于文章发布类别不一样,因此想单独针对某一分类进行独立模块封装,这个类似产品分类就只发布产品内容,也方便后台中进行快速定位。其余的都与文章发布功能保持一样。
功能描述
因本身还是属于post数据类型文章发布需求功能,所以基本的跟自带文章功能一样,所以功能清单如下:
- 新增分类和标签(支持增删查改);
- 该分类需要指定默认主题分类列表文章类型;
所以相对来讲,这个还是比较容易实现,没有特别的繁杂功能,只需要通过自定义函数功能就可以实现。
实现步骤
创建自定义函数于functions.php
中,便于仪表盘后端可见,代码如下:
function create_project_post_type() {
$labels = array(
'name' => _x('项目展示', 'post type general name'),
'singular_name' => _x('项目', 'post type singular name'),
'menu_name' => _x('项目', 'admin menu'),
'name_admin_bar' => _x('项目', 'add new on admin bar'),
'add_new' => _x('添加新项目', '项目'),
'add_new_item' => __('添加新项目'),
'new_item' => __('新项目'),
'edit_item' => __('编辑项目'),
'view_item' => __('查看项目'),
'all_items' => __('所有项目'),
'search_items' => __('搜索项目'),
'not_found' => __('未找到项目'),
'not_found_in_trash' => __('回收站中未找到项目'),
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'project'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title', 'editor', 'thumbnail'),
);
register_post_type('project', $args);
}
add_action('init', 'create_project_post_type');
项目自定义字段和分类函数,同样安装到functions.php,如下:
// 项目自定义字段和分类函数
function create_project_taxonomies() {
$labels = array(
'name' => _x('项目分类', 'taxonomy general name'),
'singular_name' => _x('项目分类', 'taxonomy singular name'),
'search_items' => __('搜索项目分类'),
'all_items' => __('所有项目分类'),
'parent_item' => __('父级项目分类'),
'parent_item_colon' => __('父级项目分类:'),
'edit_item' => __('编辑项目分类'),
'update_item' => __('更新项目分类'),
'add_new_item' => __('添加新项目分类'),
'new_item_name' => __('新项目分类名称'),
'menu_name' => __('项目分类'),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'project'),
);
register_taxonomy('project_category', 'project', $args);
$labels = array(
'name' => _x('项目标签', 'taxonomy general name'),
'singular_name' => _x('项目标签', 'taxonomy singular name'),
'search_items' => __('搜索项目标签'),
'all_items' => __('所有项目标签'),
'edit_item' => __('编辑项目标签'),
'update_item' => __('更新项目标签'),
'add_new_item' => __('添加新项目标签'),
'new_item_name' => __('新项目标签名称'),
'menu_name' => __('项目标签'),
);
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'project-tag'),
);
register_taxonomy('project_tag', 'project', $args);
}
add_action('init', 'create_project_taxonomies');
functions.php
代码示例下载
注:点击文末下载窗口回复“功能代码下载
”即可。
安装两端代码即可,再看看后台及前端效果。
新建文章列表详情模板,如下,由于这个具体看实际需求,代码逻辑和构造详情就不公开了,给一个创建模板分享,如下:
自定义模板定义规范示例:
<?php
/*
Template Name: 自定义模板
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php the_title('<h1 class="entry-title">', '</h1>'); ?>
<?php the_content(); ?>
</article>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part('template-parts/content', 'none'); ?>
<?php endif; ?>
</main> <!-- .site-main -->
</div> <!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
前端查看效果
后台菜单栏出现了添加的项目功能界面,如下:
再测试下后台分类编辑,如下:
前端测试,项目详情页展示
写在最后
好了,这就是关于在WP如何自定义模板实现特殊文章内容发布需求,关于实现更多实效功能请持续关注FUNION数字营销,若有外贸建站和SEO需求,不妨提交下面文章留言表单,我们会第一时间联系您,100%做到不叨扰!