C:Wordpress自定义文章类型(图视频)
自定义文章类型,包括:
1:单独的“文章内容模板”
2:单独的“文章列表模板”
3:单独的“控制后台”(文章分类、添加文章)

创建自定义文章和分类
在functions.php中添加以下代码(注册自定义文章,注册自定文章分类)
后台就有如上图所示的“该文章的单独后台,文章分类和添加文章”
//自定义文章类型和分类法
add_action('init', 'my_custom_init'); function my_custom_init()
{ //创建自定义文章类型(Media)
$labels = array( //后台显示相关的参数
'name' => '图视频',
'all_items' => '所有图视频',
'add_new' => '添加图视频',
'add_new_item' => '添加新图视频', //描述标题
'edit_item' => '修改图视频', //描述标题
'not_found' => '暂未添加图视频',
'not_found_in_trash' => '没有图视频',
'menu_name' => '图视频' ); $args = array(
'labels' => $labels,
'public' => true, //一些显示相关的默认值
'show_ui' => true,
'show_in_menu' => true,
'rewrite' => true,
'query_var' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => true,
'menu_position' => 4, //菜单位置
'publicly_queryable' => true,
'_builtin' => false,
'supports' => array('title','editor','author','thumbnail','excerpt','comments' )
);
register_post_type('media',$args); //本文章类型为product //创建自定义分类法(Cat_media)
$labels = array(
'name' => '图视频分类',
'singular_name' => 'cat_media',
'search_items' => '搜索' ,
'popular_items' => '热门' ,
'all_items' => '所有' ,
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => '编辑' ,
'update_item' => '更新' ,
'add_new_item' => '添加' ,
'new_item_name' => '图视频分类',
'separate_items_with_commas' => '按逗号分开' ,
'add_or_remove_items' => '添加或删除',
'choose_from_most_used' => '从经常使用的类型中选择',
'menu_name' => '图视频分类',
); register_taxonomy(
'cat_media',
array('media'),
array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => true, //这个是干嘛的
)
); }
创建该自定义文章的“模板文件”
自定义分类模板必须为如下命名:

taxonomy-自定义分类名.php
自定义文章模板必须为如下命名:

single-自定义文章名.php
自定义分类页的变动(相比默认category.php)
category.php 页,$cat 就是当前分类页的ID
自定义分类页获取$cat ,需要如下代码
<?php
$cat_title = single_cat_title('', false);
$cats = get_term_by( 'name', $cat_title, 'cat_media' );
$cat= $cats->term_id;
?>
导航代码
<a href="<?php echo get_category_link($cat); ?>" ><?php echo get_cat_name($cat); ?></a>
获取分类的子分类
<?php
// 得到所有分类列表
$args=array(
'taxonomy'=>'cat_media',
'hide_empty' => 0,
'number'=>5 , //定义5个分类
'orderby'=>'ID',
); $categories = get_categories($args);
foreach ($categories as $catt) {
?> <li class="<?php if($cat ==$catt->cat_ID ) echo"cur"; ?> id="sortCss1">
<a href="<?php echo get_category_link($catt->cat_ID) ?> " ><?php echo $catt->cat_name; ?></a>
</li> <?php } ?>
获取指定分类的文章列表
<?php
while( have_posts() ) {
the_post(); $url = get_field("media_vedio",get_the_ID()); if(!$url){
$url = get_field("media_img",get_the_ID());
}
?>
<li>
<a class="video_info tc" target="_blank"; href="<?php echo $url; ?>" >
<img src="<?php echo get_field("media_img",get_the_ID()); ?>" width="200" height="130">
<p><?php the_title();?></p>
</a>
</li>
<?php
}
?>
C:Wordpress自定义文章类型(图视频)的更多相关文章
- Wordpress 自定义文章类型添加 Categoried、Tags
默认情况下 ,自定义文章类型没有分类和标签属性,需要通过 register_taxonomy_for_object_type 手动注册文章分类和标签,可以通过在 functions.php 或插件中添 ...
- wordpress添加post_type自定义文章类型
wordpress很强大,能当博客也能进行二次开发出很完善的内容管理系统满足企业运营需求,比如可以添加products产品模型.汽车模型等,如何实现呢?添加post_type自定义文章类型就可以了 p ...
- WordPress使用自定义文章类型实现任意模板的方法和怎么做邮件回复
主要就是使用了register_post_type 函数. 1.创建插件目录 新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为myMood 2.创php代码文件 在刚才创建的文件夹里面新建一个 ...
- WordPress自定义文章页面模板
如果想让某个分类的文章页面样式有别于其它分类,我们可以使用自定义的模板的方法实现.例如,我们准备让名称为 WordPress 的分类文章使用有别于其它分类的模板样式, 首先在所用主题根目录新建一个名称 ...
- wordpress调用指定类型post_type的文章
wordpress很强大,可以添加多种post_type文章类型,假如我们要调用product产品模型的文章要如何操作呢?随ytkah一起来看看吧.我们用'post_type' => 'prod ...
- 为WordPress某个文章添加额外的样式
如需把css直接写在某文章,把下面代码放如function.php /* 为特定文章添加特定css最简单的方式. */ /*添加自定义CSS的meta box*/ add_action('admin_ ...
- 转:绝对干货--WordPress自定义查询wp_query所有参数详细注释
<?php /** * WordPress 查询综合参考 * 编译:luetkemj - luetkemj.com * * 官方文档: http://codex.wordpress.org/Cl ...
- WordPress自定义查询WP_Query使用方法大全
自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能.WP_Query怎么用呢?随ytkah一起来看看吧 我们知道wordpress的主循 ...
- Wordpress 后台文章编辑区添加模板选择功能
功能:后台编辑文章时,可以选择文章使用的模板,效果如下图: 操作步骤: <?php /** * Template Name: kbsingle full * Add by Ryan 3/18/2 ...
随机推荐
- /var/log/messages文件监控
近来项目中遇到一个问题,情况是这样的,我们使用ELK中的LOGSTASH来监控LINUX的系统日志文件:/var/log/messages文件,但这个文件默认的权限是600,这样很为难, 我们使用特定 ...
- FineReport根据点击次数奇偶性排序之字符型
上一篇文章我们提到了字段为数据型的数据列排序方法,采用的是根据点击次数奇偶性来排序,那如果是字段为字符型,又该如何实现呢? 这里提供的解决思路是通过超级链接来实现升序降序两张模板之间的相互调用,每点击 ...
- POJ1947 Rebuilding Roads[树形背包]
Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 11495 Accepted: 5276 ...
- 使用spring方式来实现aop编程
1:什么是aop? Aspect Oriented Programming 面向切面编程 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译 ...
- http协议进阶(二)URL与资源
一.URL的语法 URL是互联网资源的标准化名称 URL提供了一种定位互联网上任意资源的手段,但这些资源要通过不同方案(协议:比如http.ftp.smtp)来访问,因此URL语法会略有差异 大部分 ...
- JSX语法简介
React的核心机制之一就是可以在内存中创建虚拟的DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能. JSX简介 JSX就是Javascript和XML结合的一种格式.Reac ...
- JQuery中each()的使用方法说明
JQuery中each()的使用方法说明 对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的eac ...
- [ASP.NET 5]终于解决:Unable to load DLL 'api-ms-win-core-localization-obsolete-l1-2-0.dll'
11月12日,惊喜地发现SqlClient(System.Data.SqlClient.dll)跨平台了(对应的nuget包包是runtime.unix.System.Data.SqlClient), ...
- Web前端面试题目及答案汇总
HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边 ...
- RecyclerView的使用(三)
上个小结中介绍了如何使用RecyclerView显示不同的数据展示样式(瀑布流也是可以显示的,从GridView改就好) 本节来为RecyclerView的item添加监听事件. RecyclerVi ...