¿Cómo puedo comprobar si una publicación es un tipo de publicación personalizada?
6 respuestas
- votos
-
- 2011-01-11
Aquíestá:
get_post_type()
y luegoif ( 'book' == get_post_type() ) ...
según Etiquetas condicionales> Untipo depublicación en 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)es unpocomás compacto [Etiquetas condicionales> Una solapágina,publicación única o archivo adjunto] (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 }
Lo anteriores
true
al ver unapublicación deltipo depublicaciónpersonalizada:book
.if ( is_singular( array( 'newspaper', 'book' ) ) ) { // conditional content/code }
Lo anteriores
true
al ver unapublicación de lostipos depublicaciónpersonalizados:newspaper
obook
.Estas ymásetiquetas condicionales sepueden ver aquí .
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
Agregueesto a su
functions.php
,ypodrátener lafuncionalidad,dentro ofuera del ciclo:function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
Entonces ahorapuede usar lo siguiente:
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 }
-
¡Gracias,estoesmuy útil! Pero debería ser:if (is_single () &&is_post_type ('post_type')) {//funcionamagia } Faltabael corchete de cierre ... Muchos saludos,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
-
¿Esto ha dejado defuncionarpara alguienmás?He usadoesto durante años,pero de repente dejó defuncionarparamí.Sinembargo,usarelmismométodo ** sin ** $ wp_queryglobal siemprefunciona: `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 () se deprecia.is_post_type() is depreciated.
- 0
- 2017-12-21
- Lisa Cerilli
-
- 2013-04-15
Paraprobar si unapublicaciónes cualquier tipo depublicaciónpersonalizada,busque la lista detodos lostipos depublicaciónnoincorporados ypruebe sieltipo depublicaciónestáen esa lista.
Comofunción:
/** * 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 ); }
Uso:
if ( is_custom_post_type() ) print 'This is a custom post type!';
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!';
-
Esta debería ser la respuesta aceptada.This should be the accepted answer.
- 1
- 2018-03-21
- aalaap
-
- 2013-02-01
-
- 2014-01-30
Si desea una verificación comodínparatodos sustipos depublicacionespersonalizadas:
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
Deestamanera,nonecesita saberelnombre de supublicaciónpersonalizada.Además,el código seguiráfuncionandoincluso si cambiaelnombre de supublicaciónpersonalizadamástarde.
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.
Estoybuscando unaforma deprobar si unapublicaciónes untipo depublicaciónpersonalizada.Porejemplo,en,digamos,labarra lateralpuedoponer un código comoeste:
Quieroprobarel código solopara untipo depublicaciónpersonalizada.