• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
我爱霍启刚掖 显示全部楼层 发表于 2021-8-15 20:14:18 |阅读模式 打印 上一主题 下一主题
本文实例报告了WordPress利用自定义文章范例实现任意模板的方法。分享给大家供大家参考,具体如下:
这几天在搭建博客的时候,碰到了一个对我来说很棘手的题目。WordPress自带的文章范例只能利用他们特定的模版,而我由于想做一个心情时间轴的板块,所以只能自定义文章的范例,让他来支持我的这个模版。于是网上找资料,而且以插件的情势来表现,得到了如下的解决方案:
主要就是利用了register_post_type 函数
1、创建插件目录
新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为myMood
2、创建PHP代码文件
在刚才创建的文件夹内里新建一个php文件,命名为myMood,用来誊写插件代码
3、添加头部形貌

复制代码代码如下:<?php
/*
Plugin Name: Movie Reviews
Plugin URI: http://wp.tutsplus.com/
Description: Declares a plugin that will create a new post type .
Version: 1.0
Author: Summer
Author URI: http://www.xtwind.com/
License: GPLv2
*/
?>
4、注册自定义函数
在刚刚创建的php文件代码中,在?>前面添加函数:

复制代码代码如下:add_action( 'init', 'create_myMood' );
得到如下代码:

复制代码代码如下:<?php
/*
Plugin Name: Movie Reviews
Plugin URI: http://wp.tutsplus.com/
Description: Declares a plugin that will create a new post type .
Version: 1.0
Author: Summer
Author URI: http://www.xtwind.com/
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 启用自定义文章范例的存档功能

请访问 register_post_type 相识更多关于该函数的参数细节。
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样式了。
上述代码可点击此处本站下载
盼望本文所述对大家基于wordpress的网站建设有所帮助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作