Suche – Prüfen Sie, ob Post eine Seite auf der Suchseite ist

Ich habe eine Suchseite, die, wenn Sie eine leere Abfrage eingeben, Posts und Seiten zusammen anzeigt. Das ist kein Problem, es ist in Ordnung. Allerdings möchte ich einige Details wie das Datum von den Seiten entfernen, da es nicht viel Sinn ergibt.

Ich benutze die is_page function, aber das scheint nicht zu funktionieren und ich habe keine Ahnung warum, ich schließe alle notwendigen Informationen ein (oder so dachte ich).

 <article id="post-">       cat_name; ?>     

Die is_page- function im WP-Codex.

Solutions Collecting From Web of "Suche – Prüfen Sie, ob Post eine Seite auf der Suchseite ist"

Die is_page() hängt davon ab, wie die Anfrage den Hauptabfragevariablen zugeordnet wird . Sie können also den Post-Typ innerhalb der Schleife überprüfen:

 the_title(); if( 'post' === get_post_type() ) { // display some extra stuff } 
 < ?php while ( have_posts() ) : the_post(); ?> < ?php $posttype = get_post_type(); if ($posttype == 'page') { ?> < ?php the_title(); ?> < ?php } else { ?> < ?php the_title(); ?> < ?php the_time("jS FY"); ?> < ?php foreach ( get_the_category() as $the_category ) : ?> < ?php echo $the_category->cat_name; ?> < ?php endforeach; ?> < ?php } ?> 

Sie können nach jedem Posttyp suchen, einschließlich benutzerdefinierter Post-Typen.

Editierte foreach könnte leicht durcheinander geraten, wenn ..else Bedingung. Versuchen Sie folgenden Code zu verwenden `

 
< ?php if ( is_page() ) : ?> < ?php the_title(); ?> < ?php else : ?> < ?php the_title(); ?> < ?php the_time("jS FY"); ?> < ?php endif; ?> < ?php foreach ( get_the_category() as $the_category ) : ?> < ?php if(!is_page() ) : ?> < ?php echo $the_category->cat_name; ?> < ?php endif; ?> < ?php endforeach; ?>

`