先來看WordPress自定義類型實例
除了以上的保留文章類型外,為了滿足多樣化需求,我們可以自定義一些文章類型,例如:公告、視頻、專題等等,自定義文章類型的實際用途很廣,可以制作出復雜多變的表現形式,先來看看一個簡單自定義類型的例子:
實例代碼如下:
- add_action( 'init', 'create_post_type' );
- function create_post_type() {
- register_post_type( 'acme_product',
- array(
- 'labels' => array(
- 'name' => __( 'Products' ),
- 'singular_name' => __( 'Product' )
- ),
- 'public' => true,
- 'has_archive' => true,
- )
- );
- }
在這個例子中我們創建了一個名為acme_product的文章類型,從上面可知道自定義文章類型主要是用了一個函數register_post_type,這個函數為注冊文章類型函數,通過它可以注冊新的文章類型,其基本用法如下:
<?php register_post_type( $post_type, $args ); ?>
其中的$post_type為必需項,定義文章類型的名稱,$args為可選項,用來配置一些數組,關于$args的數組,參數非常多.
判斷當前文章是不是自定義內容類型
其實這樣的功能實在非常的簡單,在根據當前內容的id就可以使用get_post等等函數返回這個內容的對象,對象中就有一個post_type的方法,但是在老外的博客看到了,我想還是翻譯一下,代碼如下:
- function is_custom_post_type() {
- global $wp_query;
- $post_types = get_post_types(array('public' => true,'_builtin' => false),'names','and');
- foreach ($post_types as $post_type ) {
- if (get_post_type($post_type->ID) == get_post_type($wp_query->post->ID)) {
- return true;
- } else {
- return false;
- }
- }
- }
把上面的代碼放到主題的functions.php文件中就可以使用如下的函數判斷,代碼如下:
- if (is_custom_post_type()) {
- //如果內容類型為自定義類型則返回true否則返回false
- }
新聞熱點
疑難解答
圖片精選