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

这篇具有很好参考价值的文章主要介绍了WordPress使用自定义文章类型实现任意模板的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文实例讲述了WordPress使用自定义文章类型实现任意模板的方法。分享给大家供大家参考,具体如下:

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

主要就是使用了register_post_type 函数

1、创建插件目录

新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为myMood

2、创建PHP代码文件

在刚才创建的文件夹里面新建一个php文件,命名为myMood,用来书写插件代码

3、添加头部描述

复制代码
代码如下:
<?php <br>/*
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 <br>/*
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 <br>$mypost = array( 'post_type' => 'lsxq', );
$loop = new WP_Query( $mypost );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post();?>

<?php the_time('Y-n-j H:i') ?>



<?php the_content(); ?>


<?php endwhile; ?>

现在,我们已经通过循环创建了一个基本的页面模板。这个  函数检索自定义文章类型的元素,并在循环中使用它们。现在自定义文章类型差不多就好了,剩下的就是css样式了。

上述代码可点击此处本站下载

希望本文所述对大家基于wordpress的网站建设有所帮助。文章来源地址https://www.toymoban.com/news/detail-423269.html

到了这里,关于WordPress使用自定义文章类型实现任意模板的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WordPress获取文章所属分类名称或别名方法

            最近在开发WordPress主题的时候,想要获取到文章所属分类名称或别名,想了半天没想到,于是去百度了下,马上就得到答案了。 非常简单,WordPress本身自带一个函数可以调出分类别名和链接:         不过上面函数会连分类链接一起获取到,实际的应用中,我

    2024年02月13日
    浏览(31)
  • WordPress实现回复文章评论后发送邮件通知的功能

    本文实例讲述了WordPress实现回复文章评论后发送邮件通知的功能。分享给大家供大家参考,具体如下: 很多时候,人们都希望在自己的评论被管理员回复后会收到通知。该函数的作用就是回复后自动邮件通知评论者。 把下面的代码加到wordpress的主题函数里面,然后修改下邮

    2023年04月24日
    浏览(44)
  • 【C++】泛型编程 ① ( 函数模板 | 函数模板概念 | 函数模板意义 | 函数模板定义语法 | 函数模板调用语法 | 显式类型调用 | 自动类型推导 )

    在 C++ 语言中 , 泛型编程 的 核心就是 函数模板 和 类模板 ; 函数模板 Function Template 是 C++ 语言 中的 重要特性 ; 函数模板概念 : 建立一个 \\\" 通用函数 \\\" , 不指定该函数的 函数返回值类型 和 函数参数类型 , 仅使用 \\\" 虚拟类型 \\\" 代表 上述 两种类型 , 该 \\\" 通用函数 \\\" 就是 \\\" 函数模

    2024年02月19日
    浏览(37)
  • WordPress站点如何实现发布文章即主动推送到百度快速收录和普通收录?

    我们在WordPress后台成功发布文章之后,如果靠搜索引擎来抓取的话,可能会比较慢,所以十分有必要将我们成功发布的文章马上提交到百度、必应等搜索引擎中。下面boke112百科就跟大家说一说WordPress站点如何实现发布文章即主动推送到百度快速收录和普通收录,具体操作如下

    2024年02月20日
    浏览(81)
  • 两种方法为WordPress添加用户自定义头像功能

     一般情况下, WordPress 默认都是使用 Gravatar头像 ,如果用户没有注册过 Gravatar 头像,那就使用网站设置的默认头像,这样用户体验不是很好;再则,如果直接调用 远程Gravatar 头像,还会影响网站的 加载速度 (WordPress缓存Gravatar头像到本地,提高加载速度)。所以,作为一个开

    2023年04月09日
    浏览(47)
  • 一篇文章让你搞懂自定义类型-----结构体

    结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 例如描述一个学生 在声明结构的时候,可以不完全的声明 比如 上面的两个结构在声明的时候省略掉了结构体标签(tag) 那么问题来了 警告: 编译器会把上面的两个声明当成完全不同的两个

    2024年02月16日
    浏览(50)
  • 织梦dedecms模板中显示最近浏览文章列表的方法示例

    我们在制作织梦商城模板的时候经常会仿照shopex或者ecshop模式,在列表dede模板中添加最近浏览文章列表,这样可以提高客户的体验度,下面dedecms模板中心跟大家分享下实现方法: 1.后台出执行如下语句 2.新建php文件count_zj.php 存放到puls目录下内容如下 3.在文章模板处添加如下

    2024年02月02日
    浏览(48)
  • 详解DEDECMS织梦模板随机调用文章数据方法汇总教程

    有时我们为了网站优化都会对网站最后一些文章停止随机读取显现,这样能够进步网站对搜索引擎的体验,下面我们就来剖析总结一下dedecms随机调用文章数据办法. 方法一 ,直接利用artlist中的orderyb=rand 即可实例,代码如下: 代码如下: [field:title/]{/dede:arclist} 方法二 ,利用自定做法

    2024年02月02日
    浏览(44)
  • WordPress上传.csv格式文件提示”抱歉,由于安全原因,这个文件类型不受支持。”错误的解决方法

    在WordPress外贸商城建站过程中,使用WooCommerce的产品导入功能是比较方便快捷的方法,默认使用的导入数据表格式是 .csv 格式,有用户反馈,在使用 WooCommerce 的产品导入 .csv 数据表文件时,会出现 ”抱歉,由于安全原因,这个文件类型不受支持。” 的错误提示。英文站对应

    2024年02月11日
    浏览(46)
  • 织梦模板正则批量替换文章内容内链变成绝对路径的方法

    织梦文章内链绝对路径的跳过,相对路径的替换 替换之前 替换之后 内容模板文章内容标签 改成 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包