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í 17++ 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. Sự thật khắc nghiệt trong quá trình SEO là Google sẽ không tha thứ cho bất cứ ai nếu bạn...
    23 giây trước
  2. Bước vào kỷ nguyên công nghệ hiện đại 4.0, cùng với sự phát triển mạnh mẽ của mạng xã hội...
    26 giây trước
  3. Có thể thấy Facebook đang dần trở thành một yếu tố không thể thiếu trong cuộc sống hiện đại ngày...
    10 giây trước
  4. Theo nghiên cứu của Hubspot, doanh thu quảng cáo của Facebook đã tăng từ mức dưới 2 tỷ đô la...
    13 giây trước
  5. Vào ngày 13/01/2020 vừa qua, google xác nhận đã ra mắt một bản cập nhật thuật toán Google Broad Core...
    28 giây trước
  6. WooCommerce Hooks là Gì? làm sao dùng Actions Hook và Filters Hook trong WordPress đó là những câu hỏi thường...
    2 giây trước
  7. Bạn đã tìm hiểu về web chắc hẳn bạn cũng đã biết, 1 website luôn tồn tại các liên kết...
    14 giây trước
  8. Sau khi PHP 5 ra mắt vào năm 2004 thì phải đến hơn một thập kỉ bản phát hành chính...
    27 giây trước
  9. Giá Cloud VPS tại HOSTVN rẻ hơn DigitalOcean, Chất lượng dịch vụ TỐT hơn Vultr. - Giảm vĩnh viễn 35%...
    7 giây trước
  10. Viết bài luôn thú vị và đòi hỏi kỹ năng chuyên môn cao. Với sự ra đời của Internet và...
    21 giây trước