Làm cách nào để phát hiện single.php (nhưng không phải danh mục đầu tư.php)?


8

Khi tôi đang sử dụng is_single();trong <head>phần của mình để thêm một số phong cách vào điều hướng trang web, nó sẽ thực thi chính xác trên các bài đăng trên blog nhưng nó cũng thực thi trên các bài đăng loại "danh mục đầu tư" duy nhất (vì vậy là đơn-portfolio.php và single.php).

Làm thế nào để tôi thực hiện nó chỉ thực hiện trên single.php?

Câu trả lời:


23

Bạn có thể sử dụng như sau để thay thế,

if (is_singular('post')) {

    //your code here...

}

Trong đó, is_singularchức năng có điều kiện API WordPress để kiểm tra sự tồn tại của loại bài đăng. Bạn cũng có thể vượt qua một loạt các loại bài đăng nếu bạn muốn.

http://codex.wordpress.org/Function_Reference/is_singular


1
Đó là một câu trả lời rất tốt! Cả hai câu trả lời đều giải quyết vấn đề này. Điều này có vẻ đơn giản hơn. Cảm ơn!
Paul

1
Cảm ơn bạn, luôn luôn tốt nhất để sử dụng các chức năng tích hợp. Tôi nghĩ rằng đây nên là câu trả lời được chấp nhận.
Simon

7

Bạn có thể thử một cái gì đó như (http://codex.wordpress.org/Function_Reference/get_post_type):

để kiểm tra nếu nó không phải là một loại bài cụ thể:

if ( is_single() && 'portfolio' != get_post_type() ) {
  // DO STUFF
}

hoặc để kiểm tra xem đó có phải là bài đăng không phải là loại bài đăng:

if ( is_single() && 'post' == get_post_type() ) {
  // DO STUFF
}

Cảm ơn! Điều đó giải quyết vấn đề của tôi NHƯNG nếu tôi có "slideshow", "tin tức", "danh mục đầu tư" và nhiều loại bài đăng khác thì sao? Một số có thể được mở rộng bằng cách sử dụng plugin và tôi không chắc sẽ có bao nhiêu và tên của chúng là gì. Có cách nào để làm điều đó mà không loại trừ "danh mục đầu tư" nhưng tất cả mọi thứ không phải là một bài đăng trên blog?
Paul

@Flow: sử dụng get_post_type()để kiểm tra 'post'.
Geert

Tôi đã cập nhật câu trả lời của mình ^^
Simon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.