Wie teste ich, ob ein Beitrag ein benutzerdefinierter Beitragstyp ist?
6 Antworten
- Stimmen
-
- 2011-01-11
Hier sind Sie:
get_post_type()
und dannif ( 'book' == get_post_type() ) ...
gemäß Bedingte Tags> Ein Beitragstyp im 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)istetwas kompakter [Bedingte Tags> Eineeinzelne Seite,ein einzelner Beitrag oderein Anhang] (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 }
Das oben Gesagteist
true
,wennein Beitrag desbenutzerdefinierten Beitragstyps angezeigt wird:book
.if ( is_singular( array( 'newspaper', 'book' ) ) ) { // conditional content/code }
Das oben Gesagteist
true
,wennein Beitrag derbenutzerdefinierten Beitragstypen angezeigt wird:newspaper
oderbook
.Diese und weiterebedingte Tags können hier angezeigt werden .
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
Fügen Sie dies zu Ihrer
functions.php
hinzu,und Sie können die Funktionalitätinnerhalb oder außerhalb der Schleife haben:function is_post_type($type){ global $wp_query; if($type == get_post_type($wp_query->post->ID)) return true; return false; }
Sie könnenjetzt Folgendes verwenden:
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 }
-
Danke,dasist sehrnützlich! Aberes sollte sein:if (is_single () &&is_post_type ('post_type')) {//magisch wirken } Die schließende Klammerfehlte .... Viele Grüße,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
-
Hat dasfür andere aufgehört zufunktionieren?Ich habe das schonewigbenutzt,aberplötzlichfunktionierteesnichtmehrfürmich.Die Verwendung derselben Methode ** ohne **global $ wp_queryfunktioniertjedochimmer: `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 () wird abgeschrieben.is_post_type() is depreciated.
- 0
- 2017-12-21
- Lisa Cerilli
-
- 2013-04-15
Um zutesten,obein Beitrag ein benutzerdefinierter Beitragstypist,rufen Sie die Liste allernichtintegrierten Beitragstypen ab undtesten Sie,ob der Beitragstypin dieser Listeenthaltenist.
Als Funktion:
/** * 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 ); }
Verwendung:
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!';
-
Dies sollte die akzeptierte Antwort sein.This should be the accepted answer.
- 1
- 2018-03-21
- aalaap
-
- 2013-02-01
Wenn Sie ausirgendeinem Grundbereits Zugriff auf dieglobale Variable $post haben,können Sieeinfach
verwendenif ($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
Wenn Sieeinen Platzhalterfür alle Ihrebenutzerdefinierten Beitragstypen wünschen:
if( ! is_singular( array('page', 'attachment', 'post') ) ){ // echo 'Imma custom post type!'; }
Auf diese Weisemüssen Sie den Namen Ihresbenutzerdefinierten Beitragsnicht kennen.Der Codefunktioniert auch dannnoch,wenn Sie den Namen Ihresbenutzerdefinierten Beitrags später ändern.
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.
Ich suchenacheiner Möglichkeit,um zutesten,obein Beitragein benutzerdefinierter Beitragstypist.Zum Beispielin der Seitenleiste,dieich wiefolgtin Codeeinfügen kann:
Ichmöchte,dass Codenurfüreinen benutzerdefinierten Beitragstypgetestet wird.