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 ...
随机推荐
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
- vim74安装
1) 常用编译选项 ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp \ --enable-pyt ...
- 如何正确的使用json?如何在.Net中使用json?
什么是json json是一种轻量级的数据交换格式,由N组键值对组成的字符串,完全独立于语言的文本格式. 为什么要使用json 在很久很久以前,调用第三方API时,我们通常是采用xml进行数据交互,但 ...
- 《InsideUE4》-10-GamePlay架构(九)GameInstance
一人之下,万人之上 引言 上篇我们讲到了UE在World之上,继续抽象出了Player的概念,包含了本地的ULocalPlayer和网络的UNetConnection,并以此创建出了World中的Pl ...
- HDU 1257 最少拦截系统【LIS】
题意:类似于套娃娃,问最少需要多少个拦截系统. 思路: 假设已经有m个导弹拦截序列 r1:x11>=x12>=x13>=...>=x1n r1:x21>=x22>= ...
- Ubuntu raid5+lvm实验
首先说一下本次实验的环境:VMware12+Ubuntu (虚拟硬盘+mdadm) 本次实验参照http://allenyu.blog.51cto.com/193668/162067中的流程,下面总结 ...
- Java面向对象 第一章 面向对象开发方法概述
一.软件开发经历的生命周期: ①软件分析 ②软件设计 ③软件编码 ④ 软件测试 ⑤ 软件部署 ⑥软件维护 二.为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点: ① 可重用性 ...
- kettle启动“Error: could not create the Java Virtual Machine”
因为我的操作系统是32bit,而Ketttle的Spoon脚本中,默认是PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m&qu ...
- 第二天----列表、元组、字符串、算数运算、字典、while
列表 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 基本操作: 索引切片追加删除长度切片循环包含 创建.查看列表: 列表中的数字不要加引号,列表的索引从0开始: lis ...
- Java实现数组排序
package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Java实现数组排序 < ...