Como teste se um post é um tipo de postagem personalizado?
6 respostas
- votos
-
- 2011-01-11
Aqui você é:
.get_post_type()
e,em seguida,if ( 'book' == get_post_type() ) ...
comopor tags condicionais> umtipo depost no 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) époucomais compacto [tags condicionais> uma únicapágina,post único ou anexo] (http://codex.wordpresspress.org/Condicional_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
se (is_singular ('livro')) { //conteúdo condicional/código }
O acima é
True
ao visualizar umapostagem dotipopersonalizado Tipo:livro
.se (is_singular (matriz («jornal»,«livro»)) { //conteúdo condicional/código }
O acima é
jornal
oulivro
.estase maistags condicionais pode ser visualizado aqui .
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
Adicioneisso ao seu
functions.php
e vocêpodeter afuncionalidade,dentro oufora do loop:function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
para que vocêpossa usar o seguinte:
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 }
-
Obrigado,isso émuito útil! Mas deve ser: se (is_single () &&is_post_type ('post_type')) {//trabalho detrabalho } O suporte deencerramentoestavafaltando .... Muitas saudações,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
-
Issoparou defuncionarparamaisninguém?Eu useiissopara asidades,mas de repenteissoparou detrabalharparamim.Noentanto,usando omesmométodo ** sem ** Global $ WP_Query semprefunciona: `if ('pós-tipo'==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 () é depreciado.is_post_type() is depreciated.
- 0
- 2017-12-21
- Lisa Cerilli
-
- 2013-04-15
Paratestar se umpost é qualquer Tipo depostpersonalizado,buscar a lista detodos ostipose teste detodosnãoembutidos se otipo dopostestivernessa lista.
Comofunção:
/** * 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 deve ser a resposta aceita.This should be the accepted answer.
- 1
- 2018-03-21
- aalaap
-
- 2013-02-01
-
- 2014-01-30
Se você quiser uma verificação de cartão selvagemparatodos os seustipospersonalizados:
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
Destaforma,vocênãoprecisa saber onome do seupostpersonalizado.Também o código aindafuncionamesmo se você alterar onome do seupostpersonalizadomaistarde.
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.
Euestouprocurando umamaneira detestar se umapostagem é umtipopersonalizado.Porexemplo,em,digamos,abarra lateral queposso colocarem código assim:
Eu querotestes de códigopara apenas umtipo depostagempersonalizado.