- Home
- Categorie
- Coding e Sistemistica
- PHP
- Estrarre posts di una categoria wordpress
-
Estrarre posts di una categoria wordpress
finalmente sono riuscito a strutturare l'home page di wordpress a sezioni.
ora ho incontrato un piccolo problema.....
sto cercando di richiamare i post di determinate categorie in ciascuna delle sezioni con questo codice ```
<?php query_posts('cat=1&showposts=2'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>soluzione?
-
Che errore?
-
questo errore:
Parse error: syntax error, unexpected $end in /web/htdocs/www.miosito.com/home/wordpress/wp-content/themes/miotema/index.php on line 176
-
@stef84 said:
questo errore:
Parse error: syntax error, unexpected $end in /web/htdocs/www.miosito.com/home/wordpress/wp-content/themes/miotema/index.php on line 176
Credo che devi chiudere i blocchi if e while
[php]<?php query_posts('cat=1&showposts=2'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>//... tuo codice...
<?php endwhile; ?>
<?php endif; ?>[/php]
-
perfetto funziona, grazie!
ora ho un altro problema.....
se provo ad estrarre gli ultimi topic dal forum con il codice qui sotto (che utilizzo da tempo e funziona benissimo)<? $ris_query = "SELECT topic_poster, topic_id, topic_title, username FROM phpbb_topics INNER JOIN phpbb_users ON topic_poster = user_id WHERE forum_id!=10 AND forum_id!=9 AND forum_id!=8 ORDER BY topic_time DESC LIMIT 10"; $db = mysql_connect("xx.xxx.xxx.xx","Sqlxxxxx","xxxxxxxx"); $res = mysql_db_query("Sqlxxxxx_x",$ris_query) or die('errore'); $num_righe = mysql_num_rows($res); ?> <? if($num_righe > 0) { ?> <table border="0" cellpadding="0" cellspacing="0"> <? $i = 0; while($i < $num_righe) { $topic_id = mysql_result($res,$i,"topic_id"); $topic_title = mysql_result($res,$i,"topic_title"); if (strlen($topic_title)>43) $topic_title = substr($topic_title,0,40) . '...'; $username = mysql_result($res,$i,"username"); $topic_poster = mysql_result($res,$i,"topic_poster"); echo "<tr>"; echo "<td><a href=\"http://www.miosito.com/community/viewtopic.php?t=$topic_id\" target=\"_blank\" title=\"$topic_title\" class='topic_title'>$topic_title</td>"; echo "</tr>"; echo "<tr>"; echo "<td>postato da: <a href=\"http://www.miosito.com/community/profile.php?mode=viewprofile&u=$topic_poster\" target=\"_blank\" title=\"$username\" class='topic_poster'>$username</td>"; echo "</tr>"; echo "<tr>"; echo "<td> </td>"; echo "</tr>"; $i++; } ?> </table> <? } else echo "Nessun topic presente"; ?>
in ciascuna tabella dove estraggo i posts di wordpress mi dà questo errore
**WordPress database error:** [Table 'Sqlxxxxx_x.wp_posts' doesn't exist] SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_post2cat ON (wp_posts.ID = wp_post2cat.post_id) WHERE 1=1 AND wp_post2cat.category_id IN (4) AND (post_type = 'post' AND (post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY post_date DESC LIMIT 0, 1
-
@stef84 said:
perfetto funziona, grazie!
ora ho un altro problema.....
se provo ad estrarre gli ultimi topic dal forum con il codice qui sotto (che utilizzo da tempo e funziona benissimo)><? $ris_query = "SELECT topic_poster, topic_id, topic_title, username FROM phpbb_topics INNER JOIN phpbb_users ON topic_poster = user_id WHERE forum_id!=10 AND forum_id!=9 AND forum_id!=8 ORDER BY topic_time DESC LIMIT 10"; $db = mysql_connect("xx.xxx.xxx.xx","Sqlxxxxx","xxxxxxxx"); $res = mysql_db_query("Sqlxxxxx_x",$ris_query) or die('errore'); $num_righe = mysql_num_rows($res); ?> <? if($num_righe > 0) { ?> <table border="0" cellpadding="0" cellspacing="0"> <? $i = 0; while($i < $num_righe) { $topic_id = mysql_result($res,$i,"topic_id"); $topic_title = mysql_result($res,$i,"topic_title"); if (strlen($topic_title)>43) $topic_title = substr($topic_title,0,40) . '...'; $username = mysql_result($res,$i,"username"); $topic_poster = mysql_result($res,$i,"topic_poster"); echo "<tr>"; echo "<td><a href=\"[http://www.miosito.com/community/viewtopic.php?t=$topic_id](http://www.miosito.com/community/viewtopic.php?t=$topic_id%5C)" target=\"_blank\" title=\"$topic_title\" class='topic_title'>$topic_title</td>"; echo "</tr>"; echo "<tr>"; echo "<td>postato da: <a href=\"[http://www.miosito.com/community/profile.php?mode=viewprofile&u=$topic_poster](http://www.miosito.com/community/profile.php?mode=viewprofile&u=$topic_poster%5C)" target=\"_blank\" title=\"$username\" class='topic_poster'>$username</td>"; echo "</tr>"; echo "<tr>"; echo "<td> </td>"; echo "</tr>"; $i++; } ?> </table> <? } else echo "Nessun topic presente"; ?> >```in ciascuna tabella dove estraggo i posts di wordpress mi dà questo errore
WordPress database error: [Table 'Sqlxxxxx_x.wp_posts' doesn't exist]
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEFT JOIN wp_post2cat ON (wp_posts.ID = wp_post2cat.post_id) WHERE 1=1 AND wp_post2cat.category_id IN (4) AND (post_type = 'post' AND (post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY post_date DESC LIMIT 0, 1Credo dipenda dal fatto che ti connetti ad un altro DB
[php] $db = mysql_connect("xx.xxx.xxx.xx","Sqlxxxxx","xxxxxxxx"); [/php]
Per poi ritornare ad eseguire query ma sul db di phpBB.
Prova a chiudere la connessionedel db di phpbb e riaprire quella del db di wordpress.
-
in effetti avevo pensato anch'io potesse dipendere da quanto dici.
il problema è che la mia conoscenza di php-mysql è pari a zero e non so cosa devo inserire per chiudere la connessione al db di phpbb e riaprire quella al db di wordpress.