自定义文章类型,包括:

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中常用操作命令

    说明:开始学习linux系统,为了方便查看,特转载一篇Linux中常用操作命令,转载地址:http://www.cnblogs.com/laov/p/3541414.html 正文: Linux简介及 ...

  2. 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState

    我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...

  3. Hibernate注解配置

    在之前的第一次对框架的实际应用中,我使用的是Hibernate的xml配置方法,xml配置方法非常繁琐, 还是推荐所有使用Hibernate的人使用注解方式进行配置,在这篇文章中,我将列举出我们常用的 ...

  4. decode()函数

    decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,.. ...

  5. bzoj[1087][SCOI2005]互不侵犯King

    Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包 ...

  6. 用于部署war并重启Tomcat的脚本

    只需要定义两个变量, 一个是目标tomcat实例的目录, 另一个是war包的名称 # Please define the absolute path of tomcat instance THIS_T ...

  7. ThinkPHP常用配置路径

    //系统常量定义 //去THinkPHP手册中进行查找 echo "<br>"."网站的根目录地址".__ROOT__." "; ...

  8. JS实现Observable观察者模式

    欢迎讨论与交流 : ) 注 代码参考自——汇智网 RxJS教程 前言 Observable观察者模式令小白笔者眼前一亮.数据生产者(observable)负责生产新鲜的数据,同时在生产完毕后'通知“消 ...

  9. Python学习Day2笔记(集合和文件操作)

    1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...

  10. 初试Scala解析XML

    使用Scala解析XML,充分体现了函数式编程的特点,简洁和明了.用Java去解析不是不行,只不过代码不够清晰明了. 首先先把XML文件读入到内存里: val someXml = XML.loadFi ...