• User

    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.


  • User Attivo

    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().


  • User

    Grazie mille, proverò subito.

    Per la prima parte? Suggerimenti?


  • User Attivo

    La prima domanda non l'ho capita...


  • User

    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.


  • User Attivo

    Credo che tu possa farlo attraverso i seguenti due passaggi:

    1. 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).

    2. 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.).


  • User

    @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?


  • User Attivo

    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


  • User

    Si, certo, fatto. Ho provato con due temi differenti.. non funziona su entrambi. :gtsad:


  • User Attivo

    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


  • User

    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 &raquo;', '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(__('&laquo; Older Entries', 'kubrick')) ?></div>
                <div class="alignright"><?php previous_posts_link(__('Newer Entries &raquo;', '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(); ?>
    

  • User Attivo

    @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 &raquo;', '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(__('&laquo; Older Entries', 'kubrick')) ?></div>
                <div class="alignright"><?php previous_posts_link(__('Newer Entries &raquo;', '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(); ?>


  • User

    Provato. Nulla di fatto, tutto come prima.


  • User Attivo

    Ancora un'ultima cosa: prova a cambiare il nome del file da categories.php a category.php


  • User

    Dunque, facendo così, cliccando sulla categoria, vedo pagina bianca.


  • User Attivo

    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.

  • User

    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!


  • User Attivo

    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...


  • User Attivo

    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.


  • User

    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 &raquo;', '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 &#187;', 'kubrick'), __('1 Comment &#187;', 'kubrick'), __('% Comments &#187;', 'kubrick'), '', __('Comments Closed', 'kubrick') ); ?></p>
                </div>
    
            <?php endwhile; ?>
    
            <div class="navigation">
                <div class="alignleft"><?php next_posts_link(__('&laquo; Older Entries', 'kubrick')) ?></div>
                <div class="alignright"><?php previous_posts_link(__('Newer Entries &raquo;', '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&#8217;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.