网站地图    收藏   

主页 > 后端 > wordpress教程 >

wordpress判断当前文章是否为自定义内容类型 - W

来源:自学PHP网    时间:2014-11-28 23:42 作者: 阅读:

[导读] 除了以上的保留文章类型外,为了满足多样化需求,我们可以自定义一些文章类型,例如:公告、视频、专题等等,自定义文章类型的实际用途很广,可以制作出复杂多变的表现形式,先来看看一...

wordpress判断当前文章是否为自定义内容类型

先来看WordPress自定义类型实例

除了以上的保留文章类型外,为了满足多样化需求,我们可以自定义一些文章类型,例如:公告、视频、专题等等,自定义文章类型的实际用途很广,可以制作出复杂多变的表现形式,先来看看一个简单自定义类型的例子:

实例代码如下:

  1. add_action( 'init''create_post_type' ); 
  2. function create_post_type() { 
  3.  register_post_type( 'acme_product'
  4.   array
  5.    'labels' => array
  6.     'name' => __( 'Products' ), 
  7.     'singular_name' => __( 'Product' ) 
  8.    ), 
  9.   'public' => true, 
  10.   'has_archive' => true, 
  11.   ) 
  12.  ); 

在这个例子中我们创建了一个名为acme_product的文章类型,从上面可知道自定义文章类型主要是用了一个函数register_post_type,这个函数为注册文章类型函数,通过它可以注册新的文章类型,其基本用法如下:

<?php register_post_type( $post_type, $args ); ?>

其中的$post_type为必需项,定义文章类型的名称,$args为可选项,用来配置一些数组,关于$args的数组,参数非常多.

判断当前文章是不是自定义内容类型

其实这样的功能实在非常的简单,在根据当前内容的id就可以使用get_post等等函数返回这个内容的对象,对象中就有一个post_type的方法,但是在老外的博客看到了,我想还是翻译一下,代码如下:

  1. function is_custom_post_type() {  
  2.     global $wp_query;  
  3.    
  4.     $post_types = get_post_types(array('public'   => true,'_builtin' => false),'names','and');  
  5.    
  6.     foreach ($post_types  as $post_type ) {  
  7.         if (get_post_type($post_type->ID) == get_post_type($wp_query->post->ID)) {  
  8.             return true;  
  9.         } else {  
  10.             return false;  
  11.         }  
  12.     }  

把上面的代码放到主题的functions.php文件中就可以使用如下的函数判断,代码如下:

  1. if (is_custom_post_type()) {  
  2.       //如果内容类型为自定义类型则返回true否则返回false  

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论