Bootstrap

Vũ Thành Lâm

Content - Code - SEO - MMO
17/10/1979
Tây Mỗ - Nam Từ Liêm - Hà Nội
thanhlam19792003

Lamvt – Vũ Thành Lâm – bắt đầu Code 2005 Freelancer từ 2006 với hàng ngàn dự án lớn nhỏ cho nước ngoài và hàng trăm dự án web cho Việt Nam.

SEO thành công rất nhiều dự án lớn, độ khó cao.
MOD (Moderator) và Admin (Administraror) của nhiều diễn đàn về SEO và CODE web MMO tại Việt Nam
Dạy Lập trình Thiết kế Web và SEO Miễn phí 15++ Năm (Từ 2006 đến Nay)

Nhận biết Custom Post Type trong WordPress

5/5 - (1 bình chọn)

Câu hỏi:

Tôi đang tìm cách kiểm tra xem một post có phải là dạng custom post type không. Ví dụ, ở sidebar (thanh bên) tôi có thể chạy code như thế này:

if ( is_single() ) {

// code here

}

Tôi muốn biết code dùng để kiểm tra dành riêng cho custom post type. Rất mong sự giúp đỡ của các bạn!

Adam Thompson

Nhận biết Custom Post Type trong WordPress nhan-biet-custom-post-type

Câu trả lời chính xác nhất

Của bạn đây: get_post_type() và sau đó if ( ‘book’ == get_post_type() ) … theo Conditional Tags > A Post Type trong Codex.

Câu trả lời của Szymon Skulimowski 

is_singular() gọn nhẹ hơn một chút  Conditional Tags > A Single Page, Single Post or Attachment – Rarst


if ( is_singular( ‘book’ ) ) {

// conditional content/code

}

Code trên cho giá trị true khi đó là một post loại custom post type: book.

if ( is_singular( array( ‘newspaper’, ‘book’ ) ) ) {

//  conditional content/code

}

Code trên trả về giá trị true khi post đó là loại custom post types: newspaper or book.

Hãy xem thêm conditional tags (thẻ có điều kiện) ở đây.

Câu trả lời của Mark Rummel


Dành cho những ai đang tìm cái này, thêm nó vào functions.php của bạn và bạn có thể có tính năng này, trong và ngoài vòng lặp:

function is_post_type($type){

global $wp_query;

if($type == get_post_type($wp_query->post->ID)) return true;

return false;

}

Sau đó bạn có thể dùng code dưới đây:

if (is_single() && is_post_type(‘post_type’)){

//work magic

}

Câu trả lời của Mild Fuzz

Cảm ơn bạn, cái này rất hữu ích! Nhưng nó đáng nhẽ là: if (is_single() && is_post_type(‘post_type’)){ //work magic } Bạn bị thiếu đóng ngoặc ở cuối cùng… Rất vui được làm quen, Ethel – user10462

Có phải cái này đã dừng hoạt động không? Tôi có dùng nó đã lâu, nhưng đột nhiên nó dừng hoạt động với tôi. Tuy nhiên, khi tôi dùng phương pháp tương tự mà không có global $wp_query thì nó lại hoạt động bình thường: if ( ‘post-type’ == get_post_type() ) {} – turtledropbomb

is_post_type() bị giảm giá trị. – Lisa Cerilli


Để kiểm trả liệu một post có phải là custom post type, nạp danh sách tất cả các loại bài đăng không được tích hợp sẵn (not built-in post types) và kiểm tra xem loại của bài đăng có nằm trong danh sách đó hay không.

Hàm như sau:

/**

* Check if a post is a custom post type.

* @param  mixed $post Post object or ID

* @return boolean

*/

function is_custom_post_type( $post = NULL )

{

$all_custom_post_types = get_post_types( array ( ‘_builtin’ => FALSE ) );

 

// there are no custom post types

if ( empty ( $all_custom_post_types ) )

return FALSE;

 

$custom_types      = array_keys( $all_custom_post_types );

$current_post_type = get_post_type( $post );

 

// could not detect current type

if ( ! $current_post_type )

return FALSE;

return in_array( $current_post_type, $custom_types );

}

Cách dùng:

if ( is_custom_post_type() )

print ‘This is a custom post type!’;

Câu trả lời của fuxia

Đây nên là câu trả lời được chấp nhận. – aalaap


Nếu vì một vài lý do nào đó mà bạn đã truy cập vào biến toàn cục (global variable) $post rồi thì đơn giản bạn có thể dùng:

if ($post->post_type == “your desired post type”) {

}

Câu trả lời của ino


Nếu bạn muốn kiểm tra theo kiểu wild card cho tất cả các custom post type của bạn:

if( ! is_singular( array(‘page’, ‘attachment’, ‘post’) ) ){

// echo ‘Imma custom post type!’;

}

Nếu làm theo cách này bạn không cần biết tên custom post của bạn. Hơn nữa, code vẫn hoạt động thậm chí nếu sau đó bạn thay đổi tên custom post của bạn.

Câu trả lời của kosinix

 

Tin mới nhất

VR PLUS (https://vrplus.vn/ ) Là một trong những dự án do Lamvt thực hiện trong thời gian gần đây. Như...

Trong một năm qua, chúng tôi đã xuất bản khoảng 79 bài viết SEO trên blog Ahrefs. Các bài viết...

Khám phá kĩ thuật viết nội dung SEO Nếu không có SEO, nội dung của bạn có thể bị chìm...

Các website về lĩnh vực làm đẹp cần phải có một thiết kế (design) hấp dẫn và bắt mắt. Điều...

Core Web Vitals được đo lường như thế nào? Làm thế nào để bạn biết các bản sửa lỗi đã...

Tin được yêu thích

Như đã nói, phần mềm chỉnh sửa video đang ngày càng chứng tỏ được tầm quan trọng của mình, nhất...

Nhiều bạn thắc mắc là sau khi cài đặt Plugin cho Google AMP thì làm thế nào để kiểm tra,...

Các trang web giáo dục và các trang web của chính phủ có một lợi thế hơn trong bảng xếp...

Nội dung là một trong 3 tiêu chí quan trọng để google đánh giá thứ hạng tìm kiếm cho website...

Thẻ <span> </span> Thẻ <span> là thẻ khá đặc biệt trong HTML, theo mặc định thì thẻ <span> được thêm...

Khách đang xem

  1. Nếu bạn đang tìm kiếm một phần mềm chỉnh sửa video nâng cao thì bài viết này sẽ cung cấp...
    22 giây trước
  2. Với bài viết này, bạn sẽ được giới thiệu đến tất cả các nguyên tắc cơ bản và những yếu...
    29 giây trước
  3. Viết bài chuẩn SEO ngày nay là một thử thách thực sự đối với những người làm SEO nói riêng...
    7 giây trước
  4. Bạn đang có dự định tạo ra một trang Website đặt phòng du lịch trực tuyến? Nhất định không nên...
    15 giây trước
  5. Bạn có biết, nội dung bài viết rất quan trọng trong SEO cũng như Kinh doanh online, một bài viết...
    13 giây trước
  6. Như đã thông báo trong bài viết trước về dấu hiệu không an toàn trong các trình duyệt sẽ có...
    20 giây trước
  7. Nếu bạn không hiểu cách sử dụng từ khóa để tối ưu hóa công cụ tìm kiếm (SEO), bạn đang...
    16 giây trước
  8. Làm thế nào để bạn có thể viết nội dung thân thiện với SEO nhất và có thể giữ cho...
    14 giây trước
  9. Mọi người thường nghĩ, người viết nội dung và người viết quảng cáo là như nhau, vì họ đều viết...
    29 giây trước
  10. Sức mạnh chính của AMP không chỉ là nó làm cho trang web tải nhanh mà còn khiến các trang...
    23 giây trước