- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Personalizzazione categorie
-
Personalizzazione categorie
Ciao a tutti, sto mettendo su un sito che attualmente è in joomla. Ho creato le varie sezioni usando le categorie. Ho quindi scritto un articolo per ciascuna categoria (es. per la categoria "discografia" ho creato tanti articoli quanti sono gli album componenti la discografia).
Ora ho due questioni: vorrei non visualizzare la data per questi articoli, cosa che vorrei fare invece per la categoria news, da usare come blog. Come posso fare? E' come se volessi che tutte le categorie, eccetto la "news", risultino come semplici pagine.
Secondo quesito: vorrei che cliccando su una categoria (o su un tag) mi appaia sì l'elenco degli articoli legati a quella categoria o a quel tag, ma di default vedo visualizzato l'articolo per intero. Essendo articoli molto lunghi.. si perde l'utilità dell'elenco. Vorrei poche righe per ogni articolo. Come posso fare? Devo rieditare tutti gli articoli inserendo il riassunto? Preferirei di no!
Grazie a chiunque mi risponderà. Vi chiedo di essere il più semplici possibili.. non sono espertissimo!
Grazie.
-
Quanto alla seconda delle due domande, devi solo modificare il tema grafico in uso. Se c'è modifica il file categories.php, altrimenti fai una copia di index.php e rinominala categories.php.
Poi devi fare la seguente modifica: all'interno del loop sostituisci la funzione the_post() con the_excerpt().
-
Grazie mille, proverò subito.
Per la prima parte? Suggerimenti?
-
La prima domanda non l'ho capita...
-
Ho scritto tanti articoli con diverse categorie. Tutti gli articoli vengono visualizzati nel blog man mano che li ho scritti. Io vorrei che in home mi vengano visualizzati soli quelli della categoria "news" che ha il calendario con la data del giorno in cui è scritto. Per tutte le altre categorie non voglio che sia visualizzato il calendarietto con la data.
Spero sia un pò più chiaro.
-
Credo che tu possa farlo attraverso i seguenti due passaggi:
-
setti come pagina iniziale, nelle impostazioni, quella corrispondente alla categoria che vuoi visualizzare. Se non è possibile puoi fare in un modo un po' diverso, o modificando il file .htaccess e impostando come homepage la pagina della categoria che ti interessa (io non sono in grado perché non sono pratico di istruzioni mod_rewrite), oppure associando con un apposito plugin (di cui adesso non ricordo il nome, ma è nella repository ufficiale) la categoria a una pagina, e rendendo poi quella pagina, in cui eventualmente puoi anche scrivere del testo, come homepage. Un'ulteriore alternativa sarebbe modificare il loop del file home.php del tuo tema grafico (se non esiste lo puoi creare copiando e rinominando index.php).
-
modifichi il tema grafico in uso, togliendo la visualizzazione della data e ora di pubblicazione nel file index.php e negli altri in cui vuoi che non appaia (home.php, archive.php, category.php, tag.php etc.).
-
-
@runen said:
Quanto alla seconda delle due domande, devi solo modificare il tema grafico in uso. Se c'è modifica il file categories.php, altrimenti fai una copia di index.php e rinominala categories.php.
Poi devi fare la seguente modifica: all'interno del loop sostituisci la funzione the_post() con the_excerpt().
Ho creato come suggerito il file categories.php ma è tutto uguale: cliccando su una categoria, vedo tutti gli articoli di seguito.. ma per esteso. Io volevo un elenco fatto dei soli titoli di ogni articolo.. o di poche righe per ogni articolo. Forse devo modificare qualcos'altro?
-
Nel file categories.php hai provveduto a modificare the_post() con the_excerpt()?
@korg74 said:
Ho creato come suggerito il file categories.php ma è tutto uguale: cliccando su una categoria, vedo tutti gli articoli di seguito.. ma per esteso. Io volevo un elenco fatto dei soli titoli di ogni articolo.. o di poche righe per ogni articolo. Forse devo modificare qualcos'altro?
Postato via Mobile
-
Si, certo, fatto. Ho provato con due temi differenti.. non funziona su entrambi.
-
Non riesco a spiegarmelo.
Ad ogni modo per tagliare la testa al toro puoi eliminare completamente la stampa dell'articolo - che si effettua con the_post() - e lasciare stampare il solo titolo - con la funzione the_title().Sarebbe utile se postassi qui il tuo file categories.php
-
Questo ad esempio è il file categories.php creato dal tema di default:
<?php get_header(); ?> <div id="content" class="narrowcolumn"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_excerpt(); ?> <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'kubrick'), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a></h2> <small><?php the_time(__('F jS, Y', 'kubrick')) ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content(__('Read the rest of this entry »', 'kubrick')); ?> </div> <p class="postmetadata"><?php the_tags(__('Tags:', 'kubrick') . ' ', ', ', '<br />'); ?> <?php printf(__('Posted in %s', 'kubrick'), get_the_category_list(', ')); ?> | <?php edit_post_link(__('Edit', 'kubrick'), '', ' | '); ?> <?php comments_popup_link(__('No Comments »', 'kubrick'), __('1 Comment »', 'kubrick'), __('% Comments »', 'kubrick'), '', __('Comments Closed', 'kubrick') ); ?></p> </div> <?php endwhile; ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link(__('« Older Entries', 'kubrick')) ?></div> <div class="alignright"><?php previous_posts_link(__('Newer Entries »', 'kubrick')) ?></div> </div> <?php else : ?> <h2 class="center"><?php _e('Not Found', 'kubrick'); ?></h2> <p class="center"><?php _e('Sorry, but you are looking for something that isn?t here.', 'kubrick'); ?></p> <?php include (TEMPLATEPATH . "/searchform.php"); ?> <?php endif; ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
-
@korg74 said:
Questo ad esempio è il file categories.php creato dal tema di default:
><?php get_header(); ?> <div id="content" class="narrowcolumn"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_excerpt(); ?> <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'kubrick'), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a></h2> <small><?php the_time(__('F jS, Y', 'kubrick')) ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content(__('Read the rest of this entry »', 'kubrick')); ?> </div> <p class="postmetadata"><?php the_tags(__('Tags:', 'kubrick') . ' ', ', ', '<br />'); ?> <?php printf(__('Posted in %s', 'kubrick'), get_the_category_list(', ')); ?> | <?php edit_post_link(__('Edit', 'kubrick'), '', ' | '); ?> <?php comments_popup_link(__('No Comments »', 'kubrick'), __('1 Comment »', 'kubrick'), __('% Comments »', 'kubrick'), '', __('Comments Closed', 'kubrick') ); ?></p> </div> <?php endwhile; ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link(__('« Older Entries', 'kubrick')) ?></div> <div class="alignright"><?php previous_posts_link(__('Newer Entries »', 'kubrick')) ?></div> </div> <?php else : ?> <h2 class="center"><?php _e('Not Found', 'kubrick'); ?></h2> <p class="center"><?php _e('Sorry, but you are looking for something that isn?t here.', 'kubrick'); ?></p> <?php include (TEMPLATEPATH . "/searchform.php"); ?> <?php endif; ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?> >``` Prova a sostituire, alla quattordicesima riga,
<?php the_content(__('Read the rest of this entry »', 'kubrick')); ?>
con
<?php the_excerpt(); ?>
-
Provato. Nulla di fatto, tutto come prima.
-
Ancora un'ultima cosa: prova a cambiare il nome del file da categories.php a category.php
-
Dunque, facendo così, cliccando sulla categoria, vedo pagina bianca.
-
Ok allora il problema era il nome del file. Ci voleva category.php e non categories.php.
A questo punto devi correggere il loop ```
<?php while (have_posts()) : the_post(); ?>Così dovrebbe andare.
-
Quindi basterebbe copiare la index.php e rimonilarla category.php?
Ho provato sia così, sia a correggere il vecchio files.. ma vedo pagina bianca!Grazie per la pazienza!
-
Rifaccio il percorso all'indietro:
basterebbe copiare index.php, rinominarla category.php e all'interno del loop mettere the_excerpt().
Ho quindi sbagliato scrivendo categories.php anziché category.php e nel farti sostituire the_post() anziché the_content().
Adesso però se hai fatto tutto correttamente dovrebbe proprio funzionare...
-
Tra l'altro ieri ho effettuato un test su un mio sito, e ha funzionato perfettamente (libriefilm.com le categorie mostrano i soli titoli dei contenuti, e ho fatto esattamente come ti ho scritto nel post precedente.
-
Complimenti innanzitutto per il sito!
Questo è il codice:
<?php get_header(); ?> <div id="content" class="narrowcolumn"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_excerpt(); ?> <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'kubrick'), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a></h2> <small><?php the_time(__('F jS, Y', 'kubrick')) ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content(__('Read the rest of this entry »', 'kubrick')); ?> </div> <p class="postmetadata"><?php the_tags(__('Tags:', 'kubrick') . ' ', ', ', '<br />'); ?> <?php printf(__('Posted in %s', 'kubrick'), get_the_category_list(', ')); ?> | <?php edit_post_link(__('Edit', 'kubrick'), '', ' | '); ?> <?php comments_popup_link(__('No Comments »', 'kubrick'), __('1 Comment »', 'kubrick'), __('% Comments »', 'kubrick'), '', __('Comments Closed', 'kubrick') ); ?></p> </div> <?php endwhile; ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link(__('« Older Entries', 'kubrick')) ?></div> <div class="alignright"><?php previous_posts_link(__('Newer Entries »', 'kubrick')) ?></div> </div> <?php else : ?> <h2 class="center"><?php _e('Not Found', 'kubrick'); ?></h2> <p class="center"><?php _e('Sorry, but you are looking for something that isn’t here.', 'kubrick'); ?></p> <?php include (TEMPLATEPATH . "/searchform.php"); ?> <?php endif; ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
Continuo a non vedere nulla, al contrario del tuo.