自定义文章类型,包括:

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自定义文章类型(图视频)的更多相关文章

  1. Wordpress 自定义文章类型添加 Categoried、Tags

    默认情况下 ,自定义文章类型没有分类和标签属性,需要通过 register_taxonomy_for_object_type 手动注册文章分类和标签,可以通过在 functions.php 或插件中添 ...

  2. wordpress添加post_type自定义文章类型

    wordpress很强大,能当博客也能进行二次开发出很完善的内容管理系统满足企业运营需求,比如可以添加products产品模型.汽车模型等,如何实现呢?添加post_type自定义文章类型就可以了 p ...

  3. WordPress使用自定义文章类型实现任意模板的方法和怎么做邮件回复

    主要就是使用了register_post_type 函数. 1.创建插件目录 新建一个文件夹用来存放插件文件,这里我就命名这个文件夹为myMood 2.创php代码文件 在刚才创建的文件夹里面新建一个 ...

  4. WordPress自定义文章页面模板

    如果想让某个分类的文章页面样式有别于其它分类,我们可以使用自定义的模板的方法实现.例如,我们准备让名称为 WordPress 的分类文章使用有别于其它分类的模板样式, 首先在所用主题根目录新建一个名称 ...

  5. wordpress调用指定类型post_type的文章

    wordpress很强大,可以添加多种post_type文章类型,假如我们要调用product产品模型的文章要如何操作呢?随ytkah一起来看看吧.我们用'post_type' => 'prod ...

  6. 为WordPress某个文章添加额外的样式

    如需把css直接写在某文章,把下面代码放如function.php /* 为特定文章添加特定css最简单的方式. */ /*添加自定义CSS的meta box*/ add_action('admin_ ...

  7. 转:绝对干货--WordPress自定义查询wp_query所有参数详细注释

    <?php /** * WordPress 查询综合参考 * 编译:luetkemj - luetkemj.com * * 官方文档: http://codex.wordpress.org/Cl ...

  8. WordPress自定义查询WP_Query使用方法大全

    自定义调用文章在网站建设中很常用,wordpress也很人性化,用新建查询new WP_Query就能实现相关功能.WP_Query怎么用呢?随ytkah一起来看看吧 我们知道wordpress的主循 ...

  9. Wordpress 后台文章编辑区添加模板选择功能

    功能:后台编辑文章时,可以选择文章使用的模板,效果如下图: 操作步骤: <?php /** * Template Name: kbsingle full * Add by Ryan 3/18/2 ...

随机推荐

  1. Linux下5种IO模型的小结

    概述 接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous).异步(ASynchronous).阻塞(blocking)和非阻塞(non-blocking).关于概念的区 ...

  2. MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

    一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...

  3. 【2016-10-26】【坚持学习】【Day13】【WCF】【EF + Data Services】

    今天做了一个demo, EF+Data Services 先建立一个网站项目 添加一个ADO.NET 数据模型 相当于一个EF容器,用来连接MSSQL数据库 添加一个WCF Data Services ...

  4. OpenCV 之 支持向量机 (一)

    机器学习是由 模型 + 策略 + 算法 构成的,构建一种机器学习方法 (例如,支持向量机),就是具体去确定这三个要素. 1  支持向量机 支持向量机,简称 SVM (Support Vector Ma ...

  5. Microsoft-Office-Professional-Plus-2007

    Microsoft-Office-Professional-Plus-2007password:(也有自带的)DP37G-8BBDM-9Y4BW-WT2K8-2WRMJ P64QH-V3F2K-RXY ...

  6. 小讲堂:Mobox文档管理软件中的文件外链是什么?

    今天我们来讨论Mobox文档管理软件中的文件外链是什么?熟悉MOBOX的朋友们应该知道,如果有文件需要分享给其他同事,直接可以进行文件共享.对方会在AM的即时通讯客户端有消息提醒,点击消息提醒可以看到 ...

  7. QuickHit项目(输出字符串游戏)

    public class leve { private int leveNo; private int strLength; private int strTimes; private int tim ...

  8. Python-04-基础

    一.装饰器(decorator) 装饰器本质上也是函数,目的是为其他函数添加附加功能(装饰其他函数) Python通过使用装饰器来达到代码的开放与封闭. 原则: 不能修改被装饰函数的源代码. 不能修改 ...

  9. thrift 一个有意思的特性:Class名称无关性

    最近开发的一个项目,后端采用thrift框架来提供rpc服务(java语言实现),然后前端采用php语言来生成thrift client调用后台RPC服务.由于某些原因,上周我把thrift定义文件中 ...

  10. openstack上创建vm实例后,状态为ERROR问题解决

    问题说明:在openstack上创建虚拟机,之前已顺利创建了n个centos6.8镜像的vm现在用ubuntu14.04镜像创建vm,发现vm创建后的状态为ERROR! 1)终端命令行操作vm创建 [ ...