web-dev-qa-db-fra.com

Déterminer si la page est la page des messages

Sur la page Paramètres de lecture , vous pouvez définir une "page d'accueil" et une "page de messages". Vous pouvez vérifier si la page actuelle is_front_page();

Existe-t-il une fonction similaire pour la "page de messages"? J'ai remarqué que is_page(); ne fonctionne pas pour cette page spéciale.

Merci

16
mike

is_home() vérifie la "page des messages", malgré le nom de fonction quelque peu déroutant.

30
goldenapples

Wordpress est fourni avec 7 types de page de modèle principaux, qui peuvent être déterminés de cette manière

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 vous dit que vous avez la page du blog.

5
D.A.H

"Posts page" est généralement une archive de:

  • messages d'une catégorie
  • messages d'un tag
  • messages d'une date (année, mois ...)
  • messages de l'archive principale

Chacune de celles-ci peut être vérifiée par l'une des nombreuses balises conditionnelles telles que is_category() is_tag() is_date() is_archive() Et tant d'autres. Pour mieux comprendre, consultez le codex http://codex.wordpress.org/Conditional_Tags

1
Bainternet

Tout d’abord, vérifiez dans les blogs des éléments tels que l’auteur, le tag, le type de message

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 ;
  }

Maintenant, vérifiez et retournez quelque chose que vous voulez avoir

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'I am post';
      } else
       {
          $postType = 'I am page';
       };
    return $postType;
  }

Utilisez-le comme Boss<?php echo check_post_type();?>

Merci à Wes Bos

0
Hidayt Rahman

TL; DR

Cas A . Il n'est pas nécessaire de le déterminer dans le fichier de modèle principal (index.php) car il s'agit du modèle par défaut.[1].

Cas B . Pour le déterminer dans un modèle de page (ex: page.php), cochez-le simplement ainsi:

get_option( 'page_for_posts' ) == get_the_ID()

Détails

Je suis littéralement allé creuser le code source[2] d’être capable de savoir comment wordpress effectue la vérification de la valeur. En fin de compte, il utilise l'instruction get_option( 'page_for_posts' ) pour connaître l'ID de publication de la valeur sélectionnée de la page Posts .

Donc oui, à cette fin, il n’existe pas de fonction de vérificateur officiel semblable à is_front_page().

Tant que vous connaissez l'ID de la page que vous avez sélectionnée, vous pouvez l'utiliser pour le processus de vérification.

Références

  1. WordPress Codex, Développement de thèmes, codex.wordpress.org/Theme_Development

  2. Code source de Paramètres Paramètres de lecture , github.com/WordPress/.../wp-admin/options-reading.php