Cum să afișezi un div doar pe pagina principală/blog index în WordPress/PHP

5 mai 2012, 05:03:47
Vizualizări: 18.7K
Voturi: 4

Am un site WordPress. Am un div pe care vreau să apară doar pe pagina principală (în header). Ce tip de instrucțiune if în PHP am nevoie...

Cu alte cuvinte:

afișează doar .... în header-ul paginii principale de blog index. Problema este că header-ul este încărcat pe fiecare pagină.

Mulțumesc!

php
1
Comentarii

posibil duplicat al Afișează un cod diferit pe pagina principală față de celelalte pagini

Chip Bennett Chip Bennett
6 mai 2012 02:47:01
Toate răspunsurile la întrebare 4
8

Vezi: http://codex.wordpress.org/Function_Reference/is_home

<?php if(is_home()): ?>

<div>Div-ul tău.</div>

<?php endif; ?>
5 mai 2012 05:10:32
Comentarii

mulțumesc... problema mea este că tema mea setează efectiv pagina de start pentru a afișa o "categorie". Există o declarație similară cu (is_category_XXXX)?

User User
5 mai 2012 05:14:43

@NKeating Nu a funcționat acest lucru?

iambriansreed iambriansreed
5 mai 2012 05:16:15

a ascuns div-ul de pe pagina de start deoarece nu o detectează ca fiind home.. Cu alte cuvinte, pagina de start este setată să afișeze un index de categorie numit videos. Vezi URL: http://speedsociety.com/

User User
5 mai 2012 05:19:49

și încerc să afișez un div „featured video” deasupra indexului principal, dar doar pe pagina principală.

User User
5 mai 2012 05:23:31

De asemenea, încearcă: is_front_page().

iambriansreed iambriansreed
5 mai 2012 05:25:48

Încearcă și: citește tot de pe codex.wordpress.org/Function_Reference/ Acolo găsești câteva lucruri utile.

JakeParis JakeParis
5 mai 2012 05:36:04

Cu siguranță vrei să folosești is_front_page() în loc de is_home(). Prima funcție corespunde cu Pagina Principală a Site-ului; cea de-a doua corespunde cu Indexul Postărilor de Blog, care poate sau nu să fie pe pagina principală a site-ului.

Chip Bennett Chip Bennett
6 mai 2012 02:45:21
Arată celelalte 3 comentarii
0
<?php if(is_home()): ?>

<div>Div-ul tău.</div>

<?php endif; ?>

Codul de mai sus funcționează corect atâta timp cât nu setezi o pagină statică pentru afișarea Paginii de Start din secțiunea Administrare > Setări > Citire.

<?php if(is_front_page()): ?>

<div>Div-ul tău.</div>

<?php endif; ?>

Însă acest cod va funcționa indiferent dacă este afișată pagina principală de blog sau ai setat o pagină statică să apară pe pagina de start.

5 mai 2012 08:52:30
1

De asemenea, poți rezolva problema folosind CSS.

Setează div-ul la:

#your-div{
display: none;
}

în fișierul tău CSS.

Apoi găsește clasa body page-id pentru pagina principală și setează CSS-ul pentru aceasta astfel:

.body-class-page-id #your-div {
display: block;
}

Aceasta va ascunde elementul pe toate paginile, cu excepția paginii pe care dorești să-l afișezi.

5 mai 2012 11:11:36
Comentarii

Acest lucru a ajuns să aibă mai mult sens pentru mine.

little tiny man little tiny man
9 feb. 2021 06:22:59
4

Există întotdeauna $_SERVER['REQUEST_URI'] pe care îl poți folosi pentru a determina pe ce pagină te afli. Pentru pagina de start, este de obicei doar '/'. Deci:

<?php if( $_SERVER['REQUEST_URI'] == '/' ) { ?>
<div id="home_only">Conținutul merge aici..</div>
<?php } ?>
5 mai 2012 05:30:02
Comentarii

a) Ce zici de index.php? și b) acel tip de soluție nu va funcționa cu adevărat în WordPress.

JakeParis JakeParis
5 mai 2012 05:37:08

a) Nu văd un motiv pentru care cineva ar permite vizitatorilor să vadă pagina principală sub forma http://domain.com/index.php b) Ce te face să crezi că nu va funcționa?

User User
5 mai 2012 05:46:56

...Funcționează?

JakeParis JakeParis
5 mai 2012 05:48:49

Da, funcționează perfect.

User User
5 mai 2012 05:51:32