大佬教程收集整理的这篇文章主要介绍了WordPress使用自定义文章类型实现任意模板的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了WordPress使用自定义文章类型实现任意模板的方法。分享给大家供大家参考,具体如下:
这几天在搭建博客的时候,碰到了一个对我来说很棘手的问题。WordPress自带的文章类型只能使用他们特定的模版,而我由于想做一个心情时间轴的板块,所以只能自定义文章的类型,让他来支持我的这个模版。于是网上找资料,并且以插件的形式来表现,得到了如下的解决方案:
主要就是使用了register_post_type 函数。
新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为mymood
在刚才创建的文件夹里面新建一个php文件,命名为mymood,用来书写插件代码
代码如下:
php;toolbar:false">
在刚刚创建的php文件代码中,在?>前面添加函数:
代码如下:
php;toolbar:false">add_action( 'init', 'create_mymood' );
得到如下代码:
代码如下:
php;toolbar:false">
把下面这段代码添加到 add_action( 'init', 'create_mymood' ); 的前面
代码如下:
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 了解更多关于该函数的参数细节。
打开刚刚的代码文件,在 代码如下: 代码如下: 该代码段添加在下面语句的后面 代码如下: 创建一个名字为single-lsqx.php的文件,主要代码段如下: 代码如下: 现在,我们已经通过循环创建了一个基本的页面模板。这个 函数检索自定义文章类型的元素,并在循环中使用它们。现在自定义文章类型差不多就好了,剩下的就是Css样式了。 希望本文所述对大家基于wordpress的网站建设有所帮助。 以上是大佬教程为你收集整理的WordPress使用自定义文章类型实现任意模板的方法全部内容,希望文章能够帮你解决WordPress使用自定义文章类型实现任意模板的方法所遇到的程序开发问题。 如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。php;toolbar:false">add_action( 'init', 'create_LSXq' );
php;toolbar:false">add_filter( 'template_include', 'include_template_function', 1 );
7、实现该函数的功能
php;toolbar:false">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;
}
php;toolbar:false">add_filter( 'template_include', 'include_template_function', 1 );
8、创建单页面模版single-LSXq.php
php;toolbar:false"> 'LSXq', );
$loop = new WP_Query( $mypost );
?>
have_posts() ) : $loop->the_post();?>
大佬总结
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。