8
votes

Quelles sont les différentes façons de détecter la page d'accueil dans WordPress?

Quelles sont les différentes manières de détecter la page d'accueil WordPress

sauf is_front_page () et is_home ()

merci


4 commentaires

Quel est le problème avec is_home () ?


sa ne fonctionne pas dans mon blog :(


Je ne connais pas bien Wordpress, mais pourriez-vous le faire rapide et facile avec $ ishome = ($ _server ['demande_uri'] == '/')


Quelle est l'URL de votre page d'accueil? Et cela retourne-t-il toujours faux?


7 Réponses :


18
votes

Je viens de faire ce qui suit:

if ( $_SERVER["REQUEST_URI"] == '/' ) { }


1 commentaires

Cela semble être le seul chèque qui fonctionne de manière fiable si vous avez une catégorie comme page d'accueil.



-1
votes

is_home () est le moyen d'aller.

Avez-vous essayé cette méthode et cela ne fonctionne pas? Si oui, il a généralement quelque chose à voir avec les paramètres mod_rewrite ou les paramètres WordPress lui-même.


0 commentaires

20
votes

is_front_page () est ce que vous voulez.

Je suppose, par le fait que is_home () ne fonctionne pas, que votre page d'accueil est statique, en fonction des paramètres de WP-Admin.

is_home () renvoie true sur votre page de blog principal alors que is_front_page () retourne true sur quelle page est définie comme votre page d'accueil, nourrir ou non.

du Codex:

Ce tag conditionnel vérifie si la page principale est un message ou une page. Ceci est une fonction booléenne, ce qui signifie qu'il retourne vrai ou faux. Il revient en vrai lorsque la page de blog principale est affichée et que les affichages des paramètres-> lisant-> avant sont définis sur "Vos derniers messages" ou sont définis sur "une page statique" et la valeur "Front page" est la valeur. page actuelle étant affichée.


0 commentaires

0
votes

Dans de nombreuses situations, un site WordPress peut avoir is_home et is_frontpage à la fois Eval TRUE comme vrai sur la page d'accueil réelle et sur la page de blog principale. Après la construction de sites de WordPress pendant environ 4 ans, cela me dérange toujours.

Par exemple, si vous avez un site où vous avez vos derniers messages sur votre page d'accueil avec peut-être un curseur ou d'autres éléments centrés sur la page d'accueil et avoir une autre page de blog, puis is_frontpage et is_home évaluera tous les deux comme vrai sur les deux pages. Donc, WordPress n'a pas de fonction conditionnelle claire pour la vraie page d'accueil, au moins la façon dont la plupart des gens pensent de la page d'accueil d'un site Web.

Alors je suis d'accord avec Liam que si vous entrez dans une situation déroutante, quelque chose comme Si ($ _Server ["demande_uri"] == '/') {}

est plus fiable.


0 commentaires

3
votes

avec vingt dix, j'utilise: xxx

fonctionne comme un charme ... $ _Server est celui que j'utilise toujours et ça marche toujours.


1 commentaires

Cette méthode a fonctionné super pour moi - is_front_page () et is_home () n'avait aucun effet car je n'ai pas eu de page statique définie comme la page d'accueil, juste une liste des postes récents



3
votes

de l'extérieur de la boucle:

if(get_option("page_on_front") == $post->ID){
    //do front page stuff here
}


1 commentaires

J'ai également pu utiliser cette approche dans l'administrateur WP depuis is_front_page () ne fonctionnera pas là-bas.



0
votes

pour moi is_front_page () code> et is_home () code> ne fonctionne pas d'une manière dont j'ai besoin de vérifier la page d'accueil, alors j'écris cette condition:

global $wp;  
$current_url = home_url(add_query_arg(array($_GET), $wp->request));
if ($current_url==get_site_url()) { 
    // code for homepage 
}


0 commentaires