- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Visualizzare in HomePage solo l'ultima notizia
-
Si questa impostazione l'avevo vista già però io voglio modificare solo l'homepage. Nel modo in cui dici tu poi quando gli utenti entrano nelle categorie trovano solo l'ultima notizia e non tutte...
A me alla fine interessa che l'HomePage mostri solo l'ultima mentre le altre vanno bene cosi come sono.
-
Allora devi mettere mano al file index.php del template, trovare il loop che richiama i post (qualcosa del genere..)
<?php while (have_posts()) : the_post(); ?> ... <?php endwhile; ?>
ed inserire prima
<?php query_posts('showposts=1'); ?>
-
Ci siamo quasi...
Ci deve essere qualche erroretto e non sapendo quasi nulla di PHP non riesco a individuarlo...
Ho inserito la tua istruzione e in Home Page fa vedere solo l'ultimo post però anche in tutte le categorie che vado fa vedere solo quel post (pur non essendo di quelle categorie) e anche se clicco sugli altri post nella colonna Recent Post fa vedere sempre e solo l'ultimo post(anche cliccando su altri post)...
-
Non sapendo com'è strutturato il tuo tema e come richiama post in homepage ed archivi (categorie, mesi, etc.) è difficile aiutarti di più :bho:
Se mi dici di quale si tratta, appena posso gli do un'occhiata (ora è troppo tardi ;)).
-
Ok, risolto: il tema che utilizzi (Blueslide) non usa il classico archive.php per la gestione delle categorie e dei vari archivi, ma relega tutto al solo index.php. L'unica cosa da fare quindi è specificare che deve visualizzare 1 solo post, l'ultimo, solamente in homepage. Alla riga che ti avevo indicato nei post precedenti va aggiunto un if e diventa:
<? if(is_home()) query_posts('showposts=1'); ?>
L'ho testato direttamente sul tema e non ci sono problemi, ovviamente dal pannello devi riportare il valore a 10 per farne visualizzare altrettanti nelle varie categorie, etc.
-
Perfetto Nicola ora funziona tutto come voglio...
Unica cosuccia è il tasto previous entry che non funziona solo nella homepage.
-
@x85angelo said:
Unica cosuccia è il tasto previous entry che non funziona solo nella homepage.
Si può risolvere anche quello ampliando ancora un po' il codice:
<?php if(is_home()) { $page = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('showposts=1&paged=$page'; } ?>
-
Non funziona quest'ultimo codice... Mi da schermata bianca ed errore sull' ultima linea...
Cmq Nicola ti sono molto riconoscente. Sei l'unico in giro che sta cercando di aiutarmi e mi spiace che ti stia facendo perdere tempo. Per riconoscenza ti ho linkato gratuitamente nel footer di questa mia pagina interna PR1 di un mio sito ( pagina glossario.html del sito in firma ). Se vuoi farti cambiare l'anchor basta dirlo e lo farò subito.
-
@x85angelo said:
Non funziona quest'ultimo codice... Mi da schermata bianca ed errore sull' ultima linea...
Strano, controlla bene perchè potrebbe essere solo un errore di trascrizione. Se ti va posta il messaggio d'errore.
Cmq Nicola ti sono molto riconoscente. Sei l'unico in giro che sta cercando di aiutarmi e mi spiace che ti stia facendo perdere tempo. Per riconoscenza ti ho linkato gratuitamente nel footer di questa mia pagina interna PR1 di un mio sito ( pagina glossario.html del sito in firma ). Se vuoi farti cambiare l'anchor basta dirlo e lo farò subito.
Non è una perdita di tempo, contribuisco come (e soprattutto quando) posso al forum ed al contempo è un'occasione di crescita anche per me; ti ringrazio moltissimo per il link
-
Ecco qui cosa dice:
Parse error: syntax error, unexpected ';' in wp-content/themes/blueslide/index.php on line **12
**
-
@x85angelo said:
Ecco qui cosa dice:
Parse error: syntax error, unexpected ';' in wp-content/themes/blueslide/index.php on line **12
**Bisognerebbe vedere il codice, puoi incollare le prime 15-20 righe tra i tag CODE o PHP?
-
Il Tag CODE non riesco a trovarlo e di tag Php ce ne sono molti nel file index.php del template quindi non so in quale metterlo. Cmq ho pensato ad un possibile compromesso per risolvere il problema, cioè rimuovere il previous entries solo dall'index.
C'è una funziona che permette l'esclusione di questo tasto solo dall' HomePage? Non so leggendo ora in giro ho letto un pò del comando exclude, vale solo per le categorie oppure posso mettere il comando exclude anche nel tasto previous entry? Insomma qualcosa del genere:<?php previous_posts_link('exclude=index.php'&'Next Entries »') ?> ```Il codice l'ho scritto più o meno a caso che non conosco il PHP, giusto per farti capire cosa intendo... :)
-
@x85angelo said:
Il Tag CODE non riesco a trovarlo e di tag Php ce ne sono molti nel file index.php del template quindi non so in quale metterlo.
Ehm, no, intendevo i tag CODE o PHP nel post qui dove inserire il codice della pagina.
Cmq ho pensato ad un possibile compromesso per risolvere il problema, cioè rimuovere il previous entries solo dall'index.
C'è una funziona che permette l'esclusione di questo tasto solo dall' HomePage? Non so leggendo ora in giro ho letto un pò del comando exclude, vale solo per le categorie oppure posso mettere il comando exclude anche nel tasto previous entry? Insomma qualcosa del genere:<?php previous_posts_link('exclude=index.php'&'Next Entries »') ?> ```Il codice l'ho scritto più o meno a caso che non conosco il PHP, giusto per farti capire cosa intendo... :) Ma il problema non era proprio **inserire** quei link, che non venivano visualizzati? Perchè ora parli di rimuoverli? :?
-
Pensa un pò tu come sono messo col PHP!! Sono stato 5 minuti a cercare il tag CODE nell'index pronto a tagliare ed incollare le prime 15-20 righe dell'index.php per metterle dentro quel tag!
Cmq tornando a noi ti posto proprio tutta l'index.php poichè il tasto Previous Entries si trova quasi alla fine:
<?php get_header(); ?> <div id="Main"> <div class="Container"> <div id="PostSet"> <?php if (have_posts()) : ?> <?php if(is_home()) query_posts('showposts=1'); ?> <?php while (have_posts()) : the_post(); ?> <div class="Post" id="post-<?php the_ID(); ?>"> <div class="PostHead"> <h1 class="title"><a title="Permanent Link to <?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h1> <p class="PostDate"> <strong class="day"><?php the_time('d'); ?></strong> <strong class="month"><?php the_time('M'); ?></strong> </p> <p class="PostInfo">Scritto da <?php the_author() ?> In <em><?php the_category(', ') ?></em></p> </div> <div class="postcontent"> <?php the_content('Continua...'); ?> </div> <div class="postcomments"> <img src="<?php bloginfo('template_directory'); ?>/images/icon_comments.gif" alt="Comments" /><?php comments_popup_link('Leggi Commenti', 'Leggi Commenti', 'Leggi Commenti'); ?> </div> <div class="clear"></div> </div> <?php comments_template(); ?> <?php endwhile; ?> <div> <div><?php next_posts_link('« Previous Entries') ?></div> <div><?php previous_posts_link('Next Entries »') ?></div> </div> </div> <?php else : ?> <div class="post" id="post-<?php the_ID(); ?>"> <h2>Non trovato </h2> <p>Quello che cerchi non è sul sito.</p> </div> </div> <?php endif; ?> <?php get_sidebar(); ?> </div> </div> <div class="clear"></div> <?php get_footer(); ?> ```Per quanto riguarda il fatto di rimuovere il tasto previous entries è riferito solo alla HomePage ( a male estremo estremi rimedi ) mentre nelle categorie dovrebbe restare sia perchè è utilissimo e sia perchè il problema è che mi dice che non trova altri articoli solo in HomePage mentre nelle categorie, col codice così com'è, funziona il tutto alla grande ...
-
@x85angelo said:
Per quanto riguarda il fatto di rimuovere il tasto previous entries è riferito solo alla HomePage ( a male estremo estremi rimedi ) mentre nelle categorie dovrebbe restare sia perchè è utilissimo e sia perchè il problema è che mi dice che non trova altri articoli solo in HomePage mentre nelle categorie, col codice così com'è, funziona il tutto alla grande ...
Ok, forse ci capiamo.. quindi rimuoverli solo in home. L'if utilizzato per visualizzare un solo post in homepage questa volta lo facciamo funzionare al contrario, cioè visualizzare i div con i link previous e next solo quando non sono in home:
<?php if(!is_home()) { ?> <div> <div><?php next_posts_link('« Previous Entries') ?></div> <div><?php previous_posts_link('Next Entries »') ?></div> </div> <?php } ?>
Devi solo aggiungere la riga prima e quella dopo i div
-
Ora è davvero tutto perfetto Nicola!!:) Cosa dire di più?!?! Ti meriti proprio un altro bel link nel blogroll del blog che hai contribuito a perfezionare!!
LA GUIDA DELL'UTENTE NICOLA PER VISUALIZZARE SOLO ULTIMO ARTICOLO IN HOME PAGE:
Ora ricapitolando per chiunque si troverà a passare di qui alla ricerca d'aiuto per il mio stesso problema queste sono le operazioni da fare per far visualizzare solo l'ultima notizia in HomePage con wordpress (il tema che utilizzo è Blueslide e non usa il classico archive.php per la gestione delle categorie e dei vari archivi, ma relega tutto al solo index.php):-
Aprire il file index.php nella cartella del template
-
Copiare e incollare il seguente codice:
<?php if(is_home()) query_posts('showposts=1'); ?>
appena prima del ```
<?php while (have_posts()) : the_post(); ?>
<?php if(!is_home()) { ?>
<div>
<div><?php next_posts_link('« Previous Entries') ?></div>
<div><?php previous_posts_link('Next Entries »') ?></div>
</div>
<?php } ?>
-
-
@x85angelo said:
Ora è davvero tutto perfetto Nicola!!:)
Bene, ottima l'idea di ricapitolare tutto in maniera più chiara