首页 > 电脑专区 > CMS教程 > WordPress >

WordPress使用自定义文章类型实现任意模板的方法

来源:互联网 2023-03-14 12:48:22 276

本文实例讲述了WORDPRESS使用自定义文章类型实现任意模板的方法。分享给大家供大家参考,具体如下:89b办公区 - 实用经验教程分享!

这几天在搭建博客的时候,碰到了一个对我来说很棘手的问题。WORDPRESS自带的文章类型只能使用他们特定的模版,而我由于想做一个心情时间轴的板块,所以只能自定义文章的类型,让他来支持我的这个模版。于是网上找资料,并且以插件的形式来表现,得到了如下的解决方案:89b办公区 - 实用经验教程分享!

主要就是使用了register_post_type 函数89b办公区 - 实用经验教程分享!

1、创建插件目录89b办公区 - 实用经验教程分享!

新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为myMood89b办公区 - 实用经验教程分享!

2、创建PHP代码文件89b办公区 - 实用经验教程分享!

在刚才创建的文件夹里面新建一个php文件,命名为myMood,用来书写插件代码89b办公区 - 实用经验教程分享!

3、添加头部描述复制代码代码如下:?php/*Plugin Name: Movie ReviewsPlugin URI: http://wp.tutsplus.com/Description: Declares a plugin that will create a new post type .Version: 1.0Author: SummerAuthor URI: http://www.xtwind.com/License: GPLv2*/?>4、注册自定义函数89b办公区 - 实用经验教程分享!

在刚刚创建的php文件代码中,在?>前面添加函数:复制代码代码如下:add_action( 'init', 'create_myMood' );得到如下代码:复制代码代码如下:?php/*Plugin Name: Movie ReviewsPlugin URI: http://wp.tutsplus.com/Description: Declares a plugin that will create a new post type .Version: 1.0Author: SummerAuthor URI: http://www.xtwind.com/License: GPLv2*/add_action( 'init', 'create_myMood' );?>5、添加函数功能89b办公区 - 实用经验教程分享!

把下面这段代码添加到 add_action( 'init', 'create_myMood' ); 的前面复制代码代码如下:function create_lsxq() {register_post_type( 'lsxq',array('labels' => array('name' => '零散心情','singular_name' => 'lsxq','add_new' => '写心情','add_new_item' => '添加一条新心情','edit' => 'Edit','edit_item' => 'Edit lsxq','new_item' => 'New lsxq','view' => 'View','view_item' => 'View lsxq','search_items' => 'Search lsxq','not_found' => 'No lsxq found','not_found_in_trash' => 'No lsxq found in Trash','parent' => 'Parent lsxq'),'public' => true,'menu_position' => 15,'supports' => array( 'title', 'editor', 'comments', 'thumbnail' ),'taxonomies' => array( '' ),'menu_icon' => plugins_url( 'images/image.png', __FILE__ ),'has_archive' => true));}89b办公区 - 实用经验教程分享!

对 register_post_type 这个函数发出声明,它就为新的文章类型做好了各种管理功能。这个函数包括两个参数:第一个是定义了自定义文章类型的名字 ;第二个是一个数组,用来定义新的自定义文章类型的属性。89b办公区 - 实用经验教程分享!

第一个参数很简单,大家自己领悟。这里简单说下地位个参数:89b办公区 - 实用经验教程分享!

'public' => true 决定该文章类型在管理后台和前端的可见性'menu_position' => 5 决定该文章类型菜单的位置'supports' => array( 'title', 'editor', 'comments', 'thumbnail') 决定自定义文章类型的功能'taxonomies' => array( '' ) 创建自定义分类,这里没有定义。'menu_icon' => plugins_url( 'image.png', __FILE__ ) 显示管理菜单的图标,图标文件放在和插件同一目录,为16*16像素'has_archive' => true 启用自定义文章类型的存档功能89b办公区 - 实用经验教程分享!

请访问 register_post_type了解更多关于该函数的参数细节。89b办公区 - 实用经验教程分享!

6、创建一个该自定义文章类型的模版打开刚刚的代码文件,在复制代码代码如下:add_action( 'init', 'create_lsxq' );语句前面添加下面这一语句:复制代码代码如下:add_filter( 'template_include', 'include_template_function', 1 );7、实现该函数的功能复制代码代码如下:function include_template_function( $template_path ) {if ( get_post_type() == 'lsxq' ) {if ( is_single() ) {if ( $theme_file = locate_template( array ( 'single-lsxq.php' ) ) ) {$template_path = $theme_file;} else {$template_path = plugin_dir_path( __FILE__ ) . '/single-lsxq.php';}}}return $template_path;}该代码段添加在下面语句的后面复制代码代码如下:add_filter( 'template_include', 'include_template_function', 1 );89b办公区 - 实用经验教程分享!

8、创建单页面模版single-lsxq.php89b办公区 - 实用经验教程分享!

创建一个名字为single-lsqx.php的文件,主要代码段如下:复制代码代码如下:?php$mypost = array( 'post_type' => 'lsxq', );$loop = new WP_Query( $mypost );?>?php while ( $loop->have_posts() ) : $loop->the_post();?>div >h3> span >?php the_time('Y-n-j H:i') ?>/span> /h3>div >?php the_content(); ?>/div>/div>?php endwhile; ?>现在,我们已经通过循环创建了一个基本的页面模板。这个 函数检索自定义文章类型的元素,并在循环中使用它们。现在自定义文章类型差不多就好了,剩下的就是css样式了。89b办公区 - 实用经验教程分享!

上述代码可点击此处本站下载89b办公区 - 实用经验教程分享!

希望本文所述对大家基于WORDPRESS的网站建设有所帮助。89b办公区 - 实用经验教程分享!

以上方法由办公区教程网编辑摘抄整理自互联网可供大家参考!89b办公区 - 实用经验教程分享!


标签: WORDPRESS自定义文章类型模板

办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码