+ Rispondi alla Discussione
Risultati da 1 a 22 di 22

The Loop con have_post non trova i post una volta settato permalink a postname

Ultimo Messaggio di lultimo il:
  1. #1
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77

    The Loop con have_post non trova i post una volta settato permalink a postname

    Ho una pagina di un sito che stampa i titoli degli articoli del blog worpress.
    questo è il codice che funziona solamente fino al momento in cui non setto i permalinks da default a /%postname%/
    Codice:
    <?php
    require ( './miosito/wp-blog-header.php' ) ;
    ?>
    
    <?php
    if (have_posts()) : while (have_posts()) : the_post();
    ?>
    
    <?php
    the_date( '');
    ?>
    " target="_blank" rel="bookmark">
    <div id="titoloblog">
    <?php the_title (); ?>
    </div>
    
    <?php _e( "Inserito nella categoria:" ); ?>
    <?php the_category( ',' ) ?>
    
    <?php endwhile; else: ?>
    
    <p>
    <?php _e('Nessuna news, coming soon.'); ?>
    </p>
    
    <?php endif; ?>
    come posso fare?
    grazie`

  2. #2
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Ti riferisci ad una pagina tipo archivio con tutti i post?
    Perchè richiami wp-blog-header.php?

  3. #3
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    Citazione Originariamente Scritto da manetta Visualizza Messaggio
    Ti riferisci ad una pagina tipo archivio con tutti i post?
    Perchè richiami wp-blog-header.php?
    l'ho richiamato perchè mi han detto che serve consentirmi di utilizzare tutte le funzioni disponibili per un tema di wp.

    esatto, mi riferisco a una pagina in cui vengano elencati tutti i post. non mi interessa il corpo del post, solo data titolo e categoria.
    Sono riuscito a crearla e ogni titolo rimanda al relativo post, ma nel momento in cui cambio i permalink da default a postname non vengono neanche piu rilevati dal ciclo "the loop"

  4. #4
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Perchè non usi semplicemente una pagina archivio tipo archive.php?

  5. #5
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    Citazione Originariamente Scritto da manetta Visualizza Messaggio
    Perchè non usi semplicemente una pagina archivio tipo archive.php?
    non so a che pagina ti riferisca, comunque il codice sopra postato è il codice che io ho inserito in una pagina web del mio sito, non voglio usare una pagina di wordpress (ma forse ho capito male quello che intendi)

  6. #6
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    nessuno sa darmi una risposta?
    anche disattivando tutti i plugin non cambia niente (mi era stato suggerito di provare cosi)
    Ultima modifica di lultimo; 20-01-11 alle 16:30

  7. #7
    Moderatore L'avatar di lastrobt
    Data Registrazione
    Apr 2010
    Località
    Torino
    Messaggi
    540
    Segui lastrobt su Twitter
    Ho provato a dare uno sguardo al tuo codice, confrontandolo con la documentazione che fornisce WP-it, e il tuo codice non sembrerebbe presentare particolari irregolarità (premesso che non conosco a fondo il php).

    L'unica cosa fuori posto si trova alla decima riga, e che dovrebbe essere parte del tag div che hai aperto nella riga sottostante e che, probabilmente, hai incollato male.

    Codice HTML:
    " target="_blank" rel="bookmark">

    Io però non ho ancora capito bene, tu cosa vorresti ottenere di preciso?

    Da quello che ho capito io, una pagina .php con la lista di tutti i titoli dei tuoi articoli che linkano le rispettive pagine. Sbaglio?

  8. #8
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    Citazione Originariamente Scritto da lastrobt Visualizza Messaggio

    Da quello che ho capito io, una pagina .php con la lista di tutti i titoli dei tuoi articoli che linkano le rispettive pagine. Sbaglio?
    esattamente!
    e il codice che ho postato funziona ma non se i permalink vengono settati su postname

    cmq ho sbagliato a incollare
    è
    Codice:
    <a href=" <?php the_permalink() ?> " target="_blank" rel="bookmark">
    Ultima modifica di lultimo; 20-01-11 alle 18:01

  9. #9
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Come devono essere listati gli articoli, per categoria,data,tag?

  10. #10
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    va benissimo l'ordine cronologico

  11. #11
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    up

  12. #12
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    up

  13. #13
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    nessuno sa rispondermi?

  14. #14
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Hai provato sostituendo:
    Codice:
    <?php
    require ( './miosito/wp-blog-header.php' ) ;
    ?>
    con:
    Codice:
    <?php get_header( ); ?>

  15. #15
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    penso di essermi spiegato male:
    io ho un sito che sta nella root del mio spazio web
    ho aperto questo blog wp in una sottocartella
    vorrei che in una pagina del sito (che sta nella root) vengano elencati i post scritti nel blog (che sta nella sottocartella)

    il codice qui sotto funziona (vedo i post elencati nella pagina) se lascio i permalik settati su default, ma se li setto su postname o qualunque altro valore non trova piu niente:
    Codice HTML:
    <?php  require ( './SOTTOCARTELLABLOG/wp-blog-header.php' ) ;
     ?> 
    
    <?php 
    // Se ci sono articoli (post) creo un ciclo...
    if (have_posts()) : while (have_posts()) : the_post(); 
    ?> 
    
     
      <?php 
      the_date(); 
      ?> 
      <a href=" <?php the_permalink() ?> " target="_blank" rel="bookmark">
      	<div id="titoloblog"> 
      		<?php the_title (); ?>
        </div> 
       </a>
      <?php _e( "Inserito nella categoria:" ); ?> 
      <?php the_category( ',' ) ?> 
    
    
    <?php endwhile; else: ?> 
    
      <p> 
      <?php _e('Nessuna news, coming soon.'); ?> 
      </p> 
    
    <?php endif; ?>

  16. #16
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Forse risolvi con .htaccess nella root principale ma sinceramente non saprei aiutarti a crearlo.

  17. #17
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    eh no perchè htaccess riscrive gli url, ma il problema è nel ciclo che individua i post nel blog: nel momento in cui cambia l'url non li trova piu

  18. #18
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    allora vi chiedo se potete metter giu due righe di php che permettano a una pagina che sta nella root del sito di elencare: "titolo" /n inserito nella categoria: "categoria" /n; di un blog che risiede in una sottocartella della root "blog"

  19. #19
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    dunque:
    ho provato a scirvere da me 2 righe di codice che estrapolasse titolo e url dal mysql ma mi sono reso conto che all'interno del db non esiste una tupla per l'url.
    Quindi probabilmente, nel momento in cui si cambiano i settaggi dei permalinks, wp scrive un file .htaccess nuovo. Non so se fa altro.
    So per certo che lo stesso file .htaccess (che è nella root di wp che sta in una sottocartella della root del sito) ovviamente non funziona copiato nella root del sito.

    Qualcuno sa sistemare questo htaccess in modo che dalla root riscriva gli url ?p=1, ?p=2 ecc che sono nella sottodirectory "SOTTOCARTELLA"?
    Codice HTML:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /SOTTOCARTELLA/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /SOTTOCARTELLA/index.php [L]
    </IfModule>
    
    # END WordPress

  20. #20
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    risolto:
    ho scritto 2 righe di php che estrapolano i titoli dei post e per produrre il href ho usato lo stesso titolo sostituendo gli spazi con "-"

    altro che mod_rewrite

  21. #21
    Esperto L'avatar di manetta
    Data Registrazione
    Nov 2008
    Località
    Padova
    Messaggi
    593
    Puoi postare la soluzione?
    Potrebbe essere d'aiuto ad altri utenti.

  22. #22
    User L'avatar di lultimo
    Data Registrazione
    Jan 2011
    Località
    milano
    Messaggi
    77
    Codice HTML:
    <?php
    include ('configdb.php'); //includo il file di connessione al db
    echo "<a href=\"/SOTTOCARTELLA/\" title=\"title\">Visita il nostro blog </a>o scegli dall'eleco qui sotto uno degli ultimi articoli<br><br>";
    
    ?>
    
    <?php
    //seleziono dal db i post pubblicati e li ordino x data decrescente in modo che il primo dell'elenco sia l'ultimo scritto
    $result = mysql_query('SELECT post_title, post_title from wp_posts where post_status="publish" and post_type="post" Order by post_date DESC');
    
    //metto i risultati in un array e per ognuno ne estraggo il titolo e lo metto anche come url rimpiazzando gli spazi con "-"
    
    while($row = mysql_fetch_array($result)){
    	echo "<a href=\"";
    	$link=strtr($row['post_title']," ","-");
    	echo ("/SOTTOCARTELLA/".$link."\" title=\"".$row['post_title']."\">");
    	echo "<div id=\"DIV\"> - ".$row['post_title']."</div>";
    	echo "</a>";
    	echo "</br>";
    	}
    ?>
    Ultima modifica di lultimo; 29-01-11 alle 21:56

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.