- Home
- Categorie
- Coding e Sistemistica
- WordPress
- The Loop con have_post non trova i post una volta settato permalink a postname
-
up
-
nessuno sa rispondermi?:bho:
-
Hai provato sostituendo:
<?php require ( './miosito/wp-blog-header.php' ) ; ?>
con:
<?php get_header( ); ?>
-
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:
[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; ?>[/HTML]
-
Forse risolvi con .htaccess nella root principale ma sinceramente non saprei aiutarti a crearlo.
-
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
-
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"
-
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"?
[HTML]# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /SOTTOCARTELLA/
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /SOTTOCARTELLA/index.php
</IfModule>END WordPress[/HTML]
-
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
-
Puoi postare la soluzione?
Potrebbe essere d'aiuto ad altri utenti.
-
[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>";
}
?>[/HTML]