it-swarm.com.de

Überprüfen Sie, ob es sich bei der aktuellen Seite um die Blog-Seite handelt

Ich bin neu in WordPress. Ich suche nach einer Möglichkeit, um zu überprüfen, ob die aktuelle Seite die Blog-Seite im Code der Header-Datei ist.

Ich habe nachgesehen, aber ich kann keinen Weg finden. Helfen Sie mir bitte.

30
KarSho

Wenn Sie mit ' Blogseite ' eine statische Seite gemeint haben, die in den Leseeinstellungen als Postseite festgelegt wurde, können Sie dies mit überprüfen Dies tun:

if ( is_front_page() && is_home() ) {
  // Default homepage
} elseif ( is_front_page() ) {
  // static homepage
} elseif ( is_home() ) {
  // blog page
} else {
  //everyting else
}

Wenn Sie is_home() und is_front_page() verwenden, müssen Sie sie in der richtigen Reihenfolge verwenden, um Fehler zu vermeiden und jede Benutzerkonfiguration zu testen.

(Quelle: Bedingte Tags - Die Blog-Seite )

Oder einfach:

if ( !is_front_page() && is_home() ) {
  // blog page
}

Oder einfacher (nehme ich an):

if ( is_home() ) {
  // blog page
}
40
Giraldi

Sie können in Ihrer Datei themes functions.php Folgendes verwenden:

function is_blog () {
    return ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag()) && 'post' == get_post_type();
}

Und fügen Sie dies dann in die Datei ein, die Sie überprüfen:

<?php if (is_blog()) { echo 'You are on a blog page'; } ?>

Sie können Hooks in Ihrer functions.php-Datei verwenden, um die oben genannten Hooks zu erstellen, damit sie auf jeder Seite angezeigt werden.

17
Vagish

Wenn mit "Blog-Seite" eine statische Seite gemeint ist, die als Posts-Seite in der Lesung festgelegt wurde:

global $wp_query;

if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) {
    //static blog page
}

PS. Diese Lösung funktioniert auch mit template_redirect action

9
Sergey Repin

Um die Blog-Indexseite zu bekommen, habe ich das gefunden

if ( !is_front_page() && is_home() ) {
  // blog page
}

funktioniert bei mir nicht, ich musste die Funktion get_option ('page_for_posts') verwenden, um die Blog-Seite post_id zu identifizieren. Meine Antwort lautet

if ( !is_front_page() && is_home() ){  

    if ( empty ( $post_id) ) {
        global $post;
        $post_id =  get_option( 'page_for_posts' );
    }

    //blog page
}
2
J.Wang

Es gibt eine knifflige Methode.

http://example.com/blog

Angenommen, Ihr Blog-Seiten-Slug istblog, dann können Sie diesen Code verwenden.

global $wp_query;
if($wp_query->query['pagename']=='blog'){
// this is blog page
}
0
Rajilesh Panoli

Ich denke, es ist sehr einfach, dass ich mich in der gleichen Situation befand und die folgende Technik verwendete, nämlich den Seiten-Slug zu verwenden.

if( is_page('blog') ) {
echo "This is your blog page"; 
}

Stellen Sie jedoch sicher, dass Sie nicht Homepage ausgewählt haben, um die neuesten Blog-Beiträge anzuzeigen, und dass Sie eine bestimmte Seite für Blogs wie Blogs oder Nachrichten usw. eingerichtet haben.

0
Rahman Zeb

Sie können verwenden

<?php if ( is_single() ) { ?>

Do stuff here

<?php } ?>
0
Xav

STARTSEITE

if(is_home() && is_front_page() || is_front_page()): // static or default hompage
 ...
endif;

BLOG

if(is_home() && !is_front_page()): // blog
 ...
endif;
0
DevWL