Come si verifica se un post è un tipo di post personalizzato?
6 risposta
- voti
-
- 2011-01-11
Eccoti:
get_post_type()
e poiif ( 'book' == get_post_type() ) ...
secondo Tag condizionali> A Post Type nel 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) è unpo 'più compatto [Tag condizionali> Una singolapagina,un singolopost o un allegato] (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 }
Quanto sopra è
true
quando si visualizza unpost deltipo dipostpersonalizzato:book
.if ( is_singular( array( 'newspaper', 'book' ) ) ) { // conditional content/code }
Quanto sopra è
true
quando si visualizza unpost deitipi dipostpersonalizzati:newspaper
obook
.Questie altritag condizionali possonoessere visualizzati qui .
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
Aggiungilo altuo
functions.php
e potrai avere lafunzionalità,all'interno o all'esterno del ciclo:function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
Quindi orapuoi utilizzare quanto segue:
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 }
-
Grazie,èmolto utile! Ma dovrebbeessere:if (is_single () &&is_post_type ('post_type')) {//workmagic } Mancava laparentesi di chiusura .... Tanti saluti,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
-
Questo ha smesso difunzionareper qualcun altro?L'ho usatoper anni,maimprovvisamente ha smesso difunzionareperme.Tuttavia,l'utilizzo dello stessometodo ** senza **global $ wp_queryfunziona sempre: `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 () è ammortizzato.is_post_type() is depreciated.
- 0
- 2017-12-21
- Lisa Cerilli
-
- 2013-04-15
Per verificare se unpost è qualsiasi tipo dipostpersonalizzato,recupera l'elenco dituttii tipi dipostnonincorporatie verifica seiltipo dipost ènell'elenco.
Comefunzione:
/** * Controlla se unpost è untipo dipostpersonalizzato. * @parammisto $post Post oggetto o ID * @returnboolean */ funzioneis_custom_post_type ($post=NULL) { $ all_custom_post_types=get_post_types (array ('_builtin'=> FALSE)); //non ci sonotipi dipostpersonalizzati if (vuoto ($ all_custom_post_types)) return FALSE; $ custom_types=array_keys ($ all_custom_post_types); $ current_post_type=get_post_type ($post); //non è statopossibile rilevareiltipo corrente if (! $ current_post_type) return FALSE; returnin_array ($ current_post_type,$ custom_types); } Utilizzo:
if (is_custom_post_type ()) print 'Questo è untipo dipostpersonalizzato!';
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!';
-
Questa dovrebbeessere la risposta accettata.This should be the accepted answer.
- 1
- 2018-03-21
- aalaap
-
- 2013-02-01
Seper qualsiasimotivo haigià accesso alla variabileglobale $post,puoi semplicemente utilizzare
if ($post->post_type == "your desired post type") { }
If for any reason you already have access to the global variable $post, you can simply use
if ($post->post_type == "your desired post type") { }
-
- 2014-01-30
Se desideri un controllo con caratterijollypertuttii tipi dipostpersonalizzati:
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
In questomodonon ènecessario conoscereilnome deltuopostpersonalizzato.Inoltreil codicefunziona anche sein seguito cambiilnome deltuopostpersonalizzato.
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.
Sto cercando unmodoper verificare se unpost è untipo dipostpersonalizzato.Adesempio,nellabarra laterale,adesempio,possoinserire un codicein questomodo:
Vogliotestareil codice soloper untipo dipostpersonalizzato.