게시물이 사용자 지정 게시물 유형인지 어떻게 테스트합니까?
6 대답
- 투표
-
- 2011-01-11
현재 위치 :
get_post_type()
다음에if ( 'book' == get_post_type() ) ...
Codex의 조건부 태그> 게시물 유형 에 따라.Here you are:
get_post_type()
and thenif ( 'book' == get_post_type() ) ...
as per Conditional Tags > A Post Type in Codex.-
[`is_singular ()`] (http://codex.wordpress.org/Function_Reference/is_singular)는 좀 더 간결합니다. [조건부 태그> 단일 페이지,단일 게시물 또는 첨부 파일] (http://codex.wordpress.org/Conditional_Tags # A_Single_Page.2C_Single_Post_or_Attachment)[`is_singular()`](http://codex.wordpress.org/Function_Reference/is_singular) is bit more compact [Conditional Tags > A Single Page, Single Post or Attachment](http://codex.wordpress.org/Conditional_Tags#A_Single_Page.2C_Single_Post_or_Attachment)
- 26
- 2011-01-11
- Rarst
-
- 2012-06-12
if ( is_singular( 'book' ) ) { // conditional content/code }
맞춤 게시물 유형 :
true
의 게시물을 볼 때 위의 내용은book
입니다.if ( is_singular( array( 'newspaper', 'book' ) ) ) { // conditional content/code }
맞춤 게시물 유형 (
true
또는true
)의 게시물을 볼 때 위의 내용은book
입니다.이러한 및 더 많은 조건부 태그는 여기에서 볼 수 있습니다 .
if ( is_singular( 'book' ) ) { // conditional content/code }
The above is
true
when viewing a post of the custom post type:book
.if ( is_singular( array( 'newspaper', 'book' ) ) ) { // conditional content/code }
The above is
true
when viewing a post of the custom post types:newspaper
orbook
.These and more conditional tags can be viewed here.
-
- 2011-07-06
functions.php
에 추가하면 루프 내부 또는 외부에서 기능을 사용할 수 있습니다.function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
이제 다음을 사용할 수 있습니다.
if (is_single() && is_post_type('post_type')){ // Work magic }
Add this to your
functions.php
, and you can have the functionality, inside or outside of the loop:function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
So you can now use the following:
if (is_single() && is_post_type('post_type')){ // Work magic }
-
감사합니다. 이것은 매우 유용합니다! 하지만 다음과 같아야합니다 :if (is_single () &&is_post_type ( 'post_type')) {//workmagic } 닫는 괄호가 없습니다 .... 많은 인사,EthelThank you, this is very useful! But it should be: if (is_single() && is_post_type('post_type')){ //work magic } The closing bracket was missing.... Many greetings, Ethel
-
이것이 다른 사람을 위해 작동하지 않습니까?나는 이것을 오랫동안 사용해 왔지만 갑자기 이것이 나를 위해 작동하지 않습니다.그러나 전역 $ wp_query가 **없는 ** 동일한 방법을 사용하면 항상 작동합니다.`if ( 'post-type'==get_post_type ()) {}`Has this stopped working for anyone else? I've used this for ages, but suddenly this stopped working for me. However, using the same method **without** global $wp_query always works: `if ( 'post-type' == get_post_type() ) {}`
- 0
- 2017-01-13
- turtledropbomb
-
is_post_type ()은 감가 상각됩니다.is_post_type() is depreciated.
- 0
- 2017-12-21
- Lisa Cerilli
-
- 2013-04-15
게시물이 맞춤 게시물 유형 임의 인지 테스트하려면 기본 제공되지 않는 모든 게시물 유형 목록을 가져 와서 게시물 유형이 목록에 있는지 테스트합니다.
함수로서 :
<사전> <코드>/** * 게시물이 사용자 지정 게시물 유형인지 확인하십시오. * @param 혼합 $post Post 객체 또는 ID * @return 부울 */ 함수is_custom_post_type ($post=NULL) { $ all_custom_post_types=get_post_types (array ( '_builtin'=> FALSE)); //맞춤 게시물 유형이 없습니다. if (비어 있음 ($ all_custom_post_types)) FALSE를 반환합니다. $ custom_types=array_keys ($ all_custom_post_types); $ current_post_type=get_post_type ($post); //현재 유형을 감지 할 수 없습니다. if (! $ current_post_type) FALSE를 반환합니다. returnin_array ($ current_post_type,$ custom_types); }사용법 :
if (is_custom_post_type ()) print '이것은 사용자 정의 포스트 유형입니다!';
To test if a post is any custom post type, fetch the list of all not built-in post types and test if the post’s type is in that list.
As a function:
/** * 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 ); }
Usage:
if ( is_custom_post_type() ) print 'This is a custom post type!';
-
이것은 받아 들여진 대답이어야합니다.This should be the accepted answer.
- 1
- 2018-03-21
- aalaap
-
-
- 2014-01-30
모든 맞춤 게시물 유형에 대해 와일드 카드 확인을 원하는 경우 :
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
이렇게하면 맞춤 게시물의 이름을 몰라도됩니다.또한 나중에 맞춤 게시물의 이름을 변경하더라도 코드는 계속 작동합니다.
If you want a wild card check for all your custom post types:
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
This way you don't need to know the name of your custom post. Also the code still work even if you change the name of your custom post later.
게시물이 맞춤 게시물 유형인지 테스트 할 방법을 찾고 있습니다.예를 들어 사이드 바에 다음과 같은 코드를 넣을 수 있습니다.
맞춤 게시물 유형에 대해서만 코드 테스트를 원합니다.