- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- HOME con "Gli ultimi articoli" e testo personalizzato
- 
							
							
							
							
							HOME con "Gli ultimi articoli" e testo personalizzatoBuongiorno a tutti, 
 forse il titolo non è molto chiaro, mi spiego meglio: vorrei impostare la home del mio sito visualizzando gli ultimi articoli di tutto le categorie, ma sopra di questi vorrei inserire un testo introduttivo.Così ho seguito i seguenti STEP: - Creato una pagina 'HOME'
- Impostato il template di questa come BLOG
- Inserito il testo da me desiderato
- Aspetto > TEMI > Personalizza > su "Pagina iniziale" ho impostato la mia pagine 'HOME'.
 Oppure: - Creato una pagina 'HOME' con template STANDARD ed inserito il testo da me desiderato
- Creato una pagina 'HOME - BLOG' con template di tipo BLOG
- Aspetto > TEMI > Personalizza > su "Pagina iniziale" ho impostato la mia pagine 'HOME' mentre su "Pagina articoli" ho impostato la pagina "BLOG"
 In entrambi i casi non ho ottenuto l'effetto desiderato! Sto utilizzando questo theme nella versione free... Come potrei risolvere? Grazie. 
 
- 
							
							
							
							
							
Ciao Felino, 
 il problema dei template di pagina è il loro ciclo ( loop per Wordpress ) che hanno al loro interno che comunque risponderà sempre al post_type 'page'.
 Premetto che conosci come personalizzare i template di pagina.
 Per ovviare a tale problema prendi una copia del template page.php e subito dopo il normale ciclo della pagina, ne crei uno tuo personalizzato utilizzando l'oggetto WP_Query() in questo modo:[PHP] 
 <?php
 // ipotesi per 4 post
 $args = array(
 'posts_per_page' => '4',); 
 // The Query
 $the_query = new WP_Query( $args );// The Loop 
 if ( $the_query->have_posts() ) :
 while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
 <?php if( has_post_thumbnail() ) : ?>
 <a rel="nofollow" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
 <?php the_title(); ?>
 </a>
 <?php endif;
 endwhile;
 else :
 // no posts found
 endif;
 /* Restore original Post Data */
 wp_reset_postdata();
 ?>
 [/PHP]
 Successivamente ti creerai una pagina home, selezionando il template appena creato ed andando in impostazioni -> lettura imposterai una pagina statica come home page.
 Spero chi sia stato chiaro 
 
- 
							
							
							
							
							Ciao Stefano, 
 certo, gentile e disponibile come sempre! Questa sera lo provo e ti aggiorno! 
 
- 
							
							
							
							
							Stefano, 
 grazie al tuo consiglio: operazione riuscita....alla fine ho creato un nuovo template e ho eseguito un'unione tra il template page presente e il template blog presente, entrambi del mio theme.
 
- 
							
							
							
							
							
Alla fine hai risolto come sempre.  Good! Good!
 
- 
							
							
							
							
							
Ciao, mi permetto di inserirmi in questa discussione in quanto sembra molto attinente al mio problema. Premetto inoltre che il problema si è presentatao dopo l'aggiornamento a wp4.1... prima, col 3.8.5, tutto era ok. 
 Dunque, il sito è handballestense(punto)com.
 ho impostato una landing page statica in cui avevo inserito il seguente codice:<?php $my_query = new WP_Query('showposts=1'); ?> 
 <?php while ($my_query->have_posts()) : $my_query->the_post(); ?><?php the_content();?> 
 <?php endwhile;?>che funzionava benissimo e mi dava in home page e per intero, l'ultimo articolo pubblicato... 
 Ora non va piu en non capisco il perchè... potresti aiutarmi per cortesia?grazie 
 Andrea
 
- 
							
							
							
							
							
Prova a sostituire showposts con post_per_page facendo in questo modo: 
 $args = array( 'post_type' => 'post', 'posts_per_page' => '1' );
 $my_query = new WP_Query( $args );Se ancora non funziona, cerca disattivando un plugin alla volta, perchè la formula è corretta! 
 
- 
							
							
							
							
							
Ciao, scusami... intendi di sostituire integralmente le mie quattro righe di codice con le tue due? 
 
- 
							
							
							
							
							
Pensavo di esser stato chiaro, forse hai frainteso. 
 Quello che devi fare è eliminare la clausola showposts perchè per certi versi è sbagliata con l'utilizzo dell'oggetto WP_Query ( come riportato nella documentazione ufficiale ) ed incrementare la tua variabile dell'oggetto WP_Query() passandogli dati corretti e specifici, come ti mostro di seguito
 [PHP]
 <?php
 $args = array(
 'posts_per_page' => '1',
 'post_type' => 'post'
 );
 // The Query
 $the_query = new WP_Query( $args );// The Loop 
 if ( $the_query->have_posts() ) :
 while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
 <h2><?php the_title(); ?></h2>
 <?php the_content(); ?>
 <?php endwhile;
 else :
 // no posts found
 endif;
 /* Restore original Post Data */
 wp_reset_postdata();
 ?>
 [/PHP]