Auf der Seite Leseeinstellungen können Sie eine "Startseite" und eine "Beitragsseite" festlegen. Sie können überprüfen, ob die aktuelle Seite is_front_page();
Gibt es eine ähnliche Funktion für die "Posts Page". Ich habe festgestellt, dass is_page();
für diese spezielle Seite nicht funktioniert.
Vielen Dank
is_home()
sucht trotz des etwas verwirrenden Funktionsnamens nach der "Posts Page".
Wordpress wird mit 7 primären Vorlagenseitentypen geliefert, die auf diese Weise bestimmt werden können
if ( is_main_query() ) {
// Error
if ( is_404() ) {
;
}
// Front page
if ( is_front_page() ) {
;
}
// Archive
if ( is_archive() ) {
;
}
// Comments popup
if ( is_comments_popup() ) {
;
}
// Search
if ( is_search() ) {
;
}
// Singular
if ( is_singular() ) {
;
}
// Home - the blog page
if ( is_home() ) {
;
}
}
is_home sagt dir, dass du die Blog-Seite hast.
"Posts page" ist normalerweise ein Archiv von:
Jedes dieser Tags kann mit einem der vielen bedingten Tags wie is_category() is_tag() is_date() is_archive()
und vielen weiteren überprüft werden. Zum besseren Verständnis lesen Sie den Codex http://codex.wordpress.org/Conditional_Tags
Überprüfen Sie zuerst die Blog-bezogenen Dinge wie Autor, Tag, Beitragstyp
function is_blog () {
global $post;
$posttype = get_post_type($post );
return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') ) ? true : false ;
}
Überprüfen Sie nun, und geben Sie etwas zurück, das Sie haben möchten
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
Benutze es wie Boss<?php echo check_post_type();?>
Dank an Wes Bos
Fall A . Es ist nicht erforderlich, dies in der Hauptvorlagendatei (index.php) zu bestimmen, da dies die Standardvorlage dafür ist[1].
Fall B . Um es in einer Seitenvorlage (zB page.php) zu ermitteln, überprüfen Sie es einfach wie folgt:
get_option( 'page_for_posts' ) == get_the_ID()
Ich ging buchstäblich den Quellcode ausgraben[2] nur um zu wissen, wie WordPress den Wert überprüft. Es stellt sich heraus, dass es die Anweisung get_option( 'page_for_posts' )
verwendet, um die Beitrags-ID des ausgewählten Werts der Seite Beiträge zu ermitteln.
Also ja, für diesen Zweck gibt es keine solche offizielle Prüffunktion, die is_front_page()
ähnelt.
Solange Sie die ID der von Ihnen ausgewählten Seite kennen, können Sie sie für den Überprüfungsprozess verwenden.
WordPress Codex, Theme-Entwicklung, codex.wordpress.org/Theme_Development
Quellcode von Einstellungen › Leseeinstellungen , github.com/WordPress/.../wp-admin/options-reading.php