is_home e is_front_page non funzionano

30 mag 2015, 12:54:38
Visualizzazioni: 32.5K
Voti: 5

Ho provato diverse condizioni nella sezione footer.php per includere questa funzione solo nella pagina principale e non nella pagina del blog... ma appare su entrambe le pagine o su nessuna di esse... qualcuno può spiegare dove sta l'errore?

<?php if( is_home() && is_front_page()   ) : ?>
  <div id="blurbs">
    <ul>
  <?php $the_query = new WP_Query( 'showposts=3' ); ?>

   <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
   <div class="postwrapper">
   <?php the_post_thumbnail(); ?>   <li style="display:inline; font-size: 20px; font-weight:light;"><?php the_title(); ?></li>
<br class="clear">
  <li style=" font-size: 14px; font-weight:light;"><?php the_content(); ?></li>
 </div>
 <?php endwhile;?>
 </ul>
 </div>
 <?php endif; ?>
1
Commenti

Qual è l'output di var_dump( is_home() ); e var_dump( is_front_page() ); su entrambe queste pagine?

birgire birgire
30 mag 2015 13:55:40
Tutte le risposte alla domanda 4
4
17
<?php if( is_front_page() ) : ?>

La funzione is_home() si riferisce alla pagina degli articoli in base alle impostazioni di lettura, mentre is_front_page() restituirà sempre true quando ci troviamo effettivamente sulla pagina iniziale.

30 mag 2015 13:57:24
Commenti

sì, ma cosa dovrei fare per soddisfare la condizione nella mia domanda sopra... come includerlo in una sola pagina e non in entrambe le pagine.....??

Piyush Rawat Piyush Rawat
30 mag 2015 14:06:36

Prova il codice aggiornato e segna come accettato e dammi un voto positivo se funziona.

Brad Dalton Brad Dalton
30 mag 2015 14:21:02

ho già provato senza wp_reset_query(); ma non ha funzionato..

Piyush Rawat Piyush Rawat
30 mag 2015 14:25:54

La mia soluzione riguarda esclusivamente l'uso di tag condizionali e funziona perfettamente per me, quindi il problema è dalla tua parte.

Brad Dalton Brad Dalton
31 mag 2015 08:02:23
5
  • Nella pagina iniziale del sito, is_front_page() restituirà sempre TRUE, indipendentemente dal fatto che la pagina iniziale mostri l'indice dei post del blog o una pagina statica.
  • Nell'indice dei post del blog, is_home() restituirà sempre TRUE, indipendentemente dal fatto che l'indice dei post del blog venga visualizzato nella pagina iniziale del sito o in una pagina separata.

Quindi prova invece questa condizione:

<?php if( 'page' == get_option( 'show_on_front' ) && is_front_page()   ) : ?>
30 mag 2015 13:19:04
Commenti

non funziona... entrambe le pagine mostrano ancora il contenuto

Piyush Rawat Piyush Rawat
30 mag 2015 13:23:20

<?php wp_reset_query(); ?>...questo ha davvero risolto il mio problema...mi chiedo quali altre meraviglie possa fare WP :)

Piyush Rawat Piyush Rawat
30 mag 2015 14:15:50

un'altra cosa.. è scritto di non usarlo se non assolutamente necessario.. potrebbe causare errori futuri o altri problemi?

Piyush Rawat Piyush Rawat
30 mag 2015 14:18:29

@PiyushRawat wp_reset_query() è sbagliato. Viene utilizzato con query_posts che non dovresti mai usare. Il modo corretto per resettare WP_Query è wp_reset_postdata(). Una nota su query_posts, interrompe la query principale e può causare il problema che stai riscontrando :-)

Pieter Goosen Pieter Goosen
30 mag 2015 14:31:59

@PieterGoosen controllerò anche con questo...almeno funziona...comunque grazie per l'informazione

Piyush Rawat Piyush Rawat
30 mag 2015 14:34:18
1
-1

wp_reset_query(); ha risolto il problema... probabilmente era dovuto a loop eseguiti prima di questo..

30 mag 2015 14:30:11
Commenti

Come ho detto in un altro commento, il tuo problema è probabilmente legato all'uso di query_posts. Nota, dovresti resettare WP_Query con wp_reset_postdata()

Pieter Goosen Pieter Goosen
30 mag 2015 14:34:03
1
-1

wp_reset_query(); funziona davvero, se hai utilizzato query personalizzate prima di verificare la pagina frontale

22 giu 2018 18:55:51
Commenti

Ciao e grazie per la tua risposta! Potresti modificare la tua risposta utilizzando il pulsante edit qui sopra e spiegare dove chi ha posto la domanda dovrebbe inserire o utilizzare wp_reset_query() e perché potrebbe essergli utile in questo scenario?

Howdy_McGee Howdy_McGee
22 giu 2018 19:37:00