WordPress使⽤⾃定义⽂章类型实现任意模板的⽅法
本⽂实例讲述了WordPress使⽤⾃定义⽂章类型实现任意模板的⽅法。分享给⼤家供⼤家参考,具体如下:
这⼏天在搭建博客的时候,碰到了⼀个对我来说很棘⼿的问题。WordPress⾃带的⽂章类型只能使⽤他们特定的模版,⽽我由于想做⼀个⼼情时间轴的板块,所以只能⾃定义⽂章的类型,让他来⽀持我的这个模版。于是⽹上资料,并且以插件的形式来表现,得到了如下的解决⽅案:
主要就是使⽤了register_post_type 函数。
1、创建插件⽬录
新建⼀个⽂件夹⽤来存放插件⽂件,这⾥我就命名这个⽂件夹为myMood
2、创建PHP代码⽂件
在刚才创建的⽂件夹⾥⾯新建⼀个php⽂件,命名为myMood,⽤来书写插件代码
3、添加头部描述
复制代码
代码如下:
<?php
/*
Plugin Name: Movie Reviews
Plugin URI: wp.tutsplus/
Description: Declares a plugin that will create a new post type .
Version: 1.0
Author: Summer
Author URI: wind/
License: GPLv2
*/
>
4、注册⾃定义函数
在刚刚创建的php⽂件代码中,在?>前⾯添加函数:
复制代码
代码如下:
add_action( 'init', 'create_myMood' );
得到如下代码:
复制代码
代码如下:
<?php
/
*
Plugin Name: Movie Reviews
Plugin URI: wp.tutsplus/
Description: Declares a plugin that will create a new post type .
Version: 1.0
Author: Summer
Author URI: wind/
License: GPLv2
*/
add_action( 'init', 'create_myMood' );
>
5、添加函数功能
把下⾯这段代码添加到 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
)
);
}
对 register_post_type 这个函数发出声明,它就为新的⽂章类型做好了各种管理功能。这个函数包括两个参数:第⼀个是定义了⾃定义⽂章类型的名字;第⼆个是⼀个数组,⽤来定义新的⾃定义⽂章类型的属性。
第⼀个参数很简单,⼤家⾃⼰领悟。这⾥简单说下地位个参数:
'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 启⽤⾃定义⽂章类型的存档功能
请访问了解更多关于该函数的参数细节。
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 );
8、创建单页⾯模版single-lsxq.php
创建⼀个名字为single-lsqx.php的⽂件,主要代码段如下:
复制代码
代码如下:
<?php
$mypost = array( 'post_type' => 'lsxq', );
$loop = new WP_Query( $mypost );
>
<?php while ( $loop->have_posts() ) : $loop->the_post();?>
<div class="item">
<h3> <span class="fr"><?php the_time('Y-n-j H:i') ?></span> </h3>
<div class="con">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; ?>
现在,我们已经通过循环创建了⼀个基本的页⾯模板。这个函数检索⾃定义⽂章类型的元素,并在循环中使⽤它们。现在⾃定义⽂章类型差不多就好了,剩下的就是css样式了。
上述代码可点击此处。
php文章管理模块实例代码希望本⽂所述对⼤家基于wordpress的⽹站建设有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。