• User

    [Risolto] Titolo nella pagina "categoria"

    Cercando fra le discussioni precedenti non sono riuscito a trovare indicazioni definitive, almeno non per il tema "silhouette" 3 colonne di Brian Gardner.
    Allora, il fatto è che quando uno clicca su una categoria, si apre una pagina con una lista di post: è possibile fare in modo che in alto nella pagina della categoria appaia un titolo col nome della categoria? Oppure una cosa tipo "ecco i post della categoria ecc. ecc."?
    (Cioè, che sia possibile sospetto di sì, ma come? Ho capito che dovrei trovare una pagina "category.php", ma in Silhouette non c'è...)
    Grazie
    Max
    PS: per capirci, il mio sito è www.massimogiuliani.it (con antipixel ruffianissimo a fondo pagina che linka giorgiotave.it)


  • Super User

    prova a vedere se c'è il file archive.php, se non sbaglio viene usato spesso anche quello per mostrare la lista di categorie o post per data.


  • User

    Sì! E' quello!
    Ho provato a incollare il codice che ho trovato e in effetti succede qualcosa, anche se non quello che speravo: comunque è la prova che il file archive.php è quello giusto.
    Io ho questo codice:

    < ?php if (is_category()) { ?>
    <h1>< ?php echo single_cat_title(); ?></h1>
    <h2>< ?php echo category_description(); ?></h2>

    E' quello giusto? Dove va incollato? Ho provato a metterlo in vari punti, ma ogni volta mi appare nella pagina così com'è: dunque o sbaglio il codice o sbaglio il posto...!
    Max


  • Super User

    prova a scriverlo così

    
    <?php if (is_category()) { ?>
    <h1><?php echo single_cat_title(); ?></h1>
    <h2><?php echo category_description(); ?></h2>
    
    

  • User

    Fatto... quando clicco sulla categoria appare una pagina bianca con questo messaggio:

    Parse error: syntax error, unexpected $end in D:\inetpub\webs\massimogiulianiit\wp-content\themes\silhouette-3column\silhouette-3column\archive.php on line 40

    Ti ricordi? Mi avevi già detto di passare all'host linux: http://www.giorgiotave.it/forum/wordpress/46054-pxs-e-wp-contact-form.html.
    E' lo stesso problema?
    Max

    PS: non so quale sia la linea 40, il file archive.php dice:
    <?php get_header(); ?>
    <div id="content">
    <div id="contentleft">
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <h1><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title();
    ?></a></h1>
    <?php the_content(__('Read more'));?><div style="clear:both;"></div>
    <div class="postinfo">
    <?php the_time('j F, Y'); ?> | Categoria: <?php the_category(', ')
    ?> | <?php comments_popup_link('Lascia un commento', '1 Comment', '% Comments');
    ?> <?php edit_post_link('(Edit)', '', ''); ?>
    </div>
    <!--
    <?php trackback_rdf(); ?>
    -->
    <?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p><?php endif; ?>
    <p><?php posts_nav_link(' — ', __('← Previous Page'), __('Next
    Page →')); ?></p>
    </div>
    <?php include(TEMPLATEPATH."/l_sidebar.php");?>
    <?php include(TEMPLATEPATH."/r_sidebar.php");?>
    </div>
    <!-- The main column ends -->
    <?php get_footer(); ?>


  • Super User

    Nel codice di prima manca la chiusura dell' if

    Prova a mettere un } prima dell'ultimo ?>


  • User

    EVVAI!!!
    Strepitoso, funziona tutto.
    Grazie!
    Max
    :vino:


  • Super User

    perfetto, allora lo segno come risolto.


  • User

    OK!
    Peraltro ti informo che ho adattato il codice anche alla ricerca in archivio:

    [php]<h5>Ecco gli articoli della categoria </h5><?php if (is_archive()) : ?>
    <?php /* If this is a category archive */ if (is_archive()) { ?>
    <h2><?php single_month_title(' '); ?></h2>
    <?php } ?>
    <?php if (is_category()) { ?>
    <h2>"<?php echo single_cat_title(); ?>"</h2>
    <h5><?php echo category_description(); }?></h5>
    <?php endif; ?>[/php]

    Così il titolo diventa la categoria o il mese, a seconda del criterio di ricerca.
    Grazie!
    Max


  • Per me non è necessario modificare il file archive.php.
    E' sufficiente creare un file category.php; puoi copiare il file archive.php e modificare quello (magari riadattandolo alle tue esigenze ... io ad esempio, nella pagina categoria ho fatto in modo che venissero mostrati solo i titoli delle notizie, per avere un elenco di titoli, anziché tutti i posts).

    Wordpress, va innanzitutto a cercare il file category.php, se non lo trova cerca il file archive.php e se non trova anche questo passa all'index.php direttamente.

    Molti templates non hanno sviluppato la pagina per le categorie, come quella per gli autori (author.php)... è sufficiente creare un nuovo file e dargli quel nome.

    ciao
    AI


  • User

    Ah, dici che WordPress cerca prima "category"?
    Dunque si può usare una pagina per le categorie e una per l'archivio, è una possibilità.
    Secondo te quale può essere il vantaggio?

    Già che ci sei, se volessi fare una cosa del genere per le ricerche, qual è il codice per dare un titolo alla pagina della ricerca? (Tipo "hai cercato i post con la parola 'esempio'").
    Il file dovrebbe essere search.php, dico bene?
    Max


  • @maxgiuliani said:

    Ah, dici che WordPress cerca prima "category"?
    Dunque si può usare una pagina per le categorie e una per l'archivio, è una possibilità.
    Secondo te quale può essere il vantaggio?

    guarda qui
    http://codex.wordpress.org/Category_Templates#What_Template_File_is_Used.3F

    dimenticavo che per prima cosa, wordpress cerca il template di una specifica categoria, quindi category-ID.php
    poi category.php -> archive.php e come ti dicevo index.php

    Beh puoi fare una pagina personalizzata della categoria, anche diversa da quella che usi per gli archivi.
    Se vuoi usare wordpress come CMS, questa è soluzione migliore.
    A me non piace la pagina archivi, perchè è come un duplicato dell'home... gli archivi li ritengo poco interessanti e preferisco avere una pagina categorie dove viene inserito un elenco rapido e immediato dei vari contenuti, dove l'utente può trovare immediatamente quello che vuole.

    Considera poi che puoi personalizzare anche le singole categorie... che so... inserire dei contenuti per ogni categoria, per rendere la pagina più SEF.

    @maxgiuliani said:

    Già che ci sei, se volessi fare una cosa del genere per le ricerche, qual è il codice per dare un titolo alla pagina della ricerca? (Tipo "hai cercato i post con la parola 'esempio'").
    Il file dovrebbe essere search.php, dico bene?
    Max

    No il search.php serve alla visualizzazione dei risultati di ricerca e non è la pagina di ricerca.
    Devi creare un page template ad hoc e nominarlo searchpage.php
    Trovi tutto qui
    http://codex.wordpress.org/Creating_a_Search_Page

    Per i templates in genere guarda qui.
    http://codex.wordpress.org/Category:Templates

    Di primo acchito Wordpress sembra un software piuttosto chiuso e limitato, ma quando si scopre come funziona e si capiscono le potenzialità, ti rendi conto che è una "miniera" ... e che personalizzarlo è davvero semplice.

    ciao
    AI


  • User

    Sì, io intendevo in effetti che search.php fosse la pagina dei risultati di ricerca, cioè quella dove esce la lista dei risultati (il tema che uso è silhouette, ha il campo di ricerca in alto a sinistra nelle pagine), giusto?

    Ho provato però a seguire le tue indicazioni per fare una pagina di ricerca (intendi una pagina da cui partire per la ricerca, giusto?): mi viene fuori una serie di messaggi di errore.
    Sì, WordPress è una "miniera" ed è semplice personalizzarlo ma se non hai un host linux un po' di problemi restano insolubili. Fra due mesi devo rinnovare il dominio e ho intenzione di passare a linux. (In una discussione precedente ho realizzato che non posso nemmeno usare i classici plugin per un form contatti...).

    Conservo le tue indicazioni per quando mi sarò liberato dall'host windows!

    Dimmi una cosa però:
    Se search.php è la pagina dei risultati della ricerca, come potrei dargli un'intestazione tipo "hai cercato la tale voce"? Intendo un po' come ho fatto per la pagina delle categorie (esempio).
    Per il momento gli ho dato un'intestazione standard "I risultati della tua ricerca" (esempio), ma mi piacerebbe un'intestazione che riporti la chiave di ricerca.

    Grazie dell'aiuto
    Max


  • No, che io sappia search.php gestisce semplicemente la restituzione dei risultati di ricerca, ma non è la pagina di ricerca.
    Per la pagina di ricerca devi fare come è indicato nel manuale di wordpress.
    Ovvero devi crearti una nuova pagina, chiamarla searchpage.php e poi inserire il loop della ricerca (quello che trovi in search.php... ma non tutti i temi l'hanno).
    Nel link che ti ho indicato è spiegato tutto passo per passo.
    Forse nel tuo caso però è stato tutto implementato nel file search.php

    Per inserire la parola della ricerca, devi inserire questo tag
    the_search_query
    in questo modo, all'interno del template
    <?php the_search_query(); ?>

    Trovi la lista di tutti i tags qui
    http://codex.wordpress.org/Template_Tags

    ciao
    AI

    PS.
    Bellissimo il tema che hai usato ... quasi quasi lo adotto anche sui miei blogs 🙂


  • User

    Per inserire la parola della ricerca, devi inserire questo tag
    the_search_query (...)Fatto! E' proprio quello che volevo.

    Bellissimo il tema che hai usato ... quasi quasi lo adotto anche sui miei blogs
    Sì, è forte Silhouette, è bello per la grafica e nelle tre colonne ci sta tutto senza "strozzare" la colonna principale.

    Grazie, ti devo almeno un caffé (frugando fra i tuoi siti ho scoperto che siamo nella stessa provincia...)
    Max