• User

    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?

  • Super User

    Che errore?


  • User

    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


  • Super User

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


  • User

    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>&nbsp;</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
    

  • Super User

    @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>&nbsp;</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

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


  • User

    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.