摘要标识
摘要由FUNION通过智能技术生成
此内容由AI根据文章内容自动生成,并已由人工审核校验

本文为您总结了如何在WordPress中自定义模板以实现特殊文章内容发布需求。通过创建自定义函数来创建项目post类型和分类,并在functions.php文件中安装了这些函数。同时还创建了一个自定义模板,该模板在后台显示添加新项目的界面,并在前端测试了项目详情页的展示。如果您需要更多实效功能,请持续关注FUNION数字营销。如果您有外贸建站和SEO需求,欢迎提交文章留言表单,我们会第一时间联系您。

大家好,我是Funion数字营销实战派飞小优,很多时候苦于自带主题功能缺乏而无法满足自身的运营需求,因此需要解决这一诉求而不得不思考如何采用什么方式解决,插件还是手写?笔者是一个不太愿意多装插件的,正所谓自己动手丰衣足食,因此将该需求制作过程简单做个经验分享,给有需要的企业带来点帮助。

需求描述

因WP本身文章发布功能细节很完善,但出于文章发布类别不一样,因此想单独针对某一分类进行独立模块封装,这个类似产品分类就只发布产品内容,也方便后台中进行快速定位。其余的都与文章发布功能保持一样。

功能描述

因本身还是属于post数据类型文章发布需求功能,所以基本的跟自带文章功能一样,所以功能清单如下:

  1. 新增分类和标签(支持增删查改);
  2. 该分类需要指定默认主题分类列表文章类型;

所以相对来讲,这个还是比较容易实现,没有特别的繁杂功能,只需要通过自定义函数功能就可以实现。

实现步骤

创建自定义函数于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代码示例下载

注:点击文末下载窗口回复“功能代码下载”即可。

安装两端代码即可,再看看后台及前端效果。

新建文章列表详情模板,如下,由于这个具体看实际需求,代码逻辑和构造详情就不公开了,给一个创建模板分享,如下:

文章模板详情
如何在WordPress仪表盘后台添加自定义模板功能

自定义模板定义规范示例:

<?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(); ?>

前端查看效果

后台菜单栏出现了添加的项目功能界面,如下:

新增功能菜单

再测试下后台分类编辑,如下:

后台分类创建测试

前端测试,项目详情页展示

如何在WordPress仪表盘后台添加自定义模板功能

写在最后

好了,这就是关于在WP如何自定义模板实现特殊文章内容发布需求,关于实现更多实效功能请持续关注FUNION数字营销,若有外贸建站和SEO需求,不妨提交下面文章留言表单,我们会第一时间联系您,100%做到不叨扰!

* 文章内容很有用,那就5星好评吧!😘

0 / 5 好评 5

Your page rank:

相关文件下载地址
该资源需登录后下载,去登录?
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

Please Login to Comment
数字人
微信

扫码了解更多服务

qr

1对1专家沟通

小程序

funion_xcx