2016-04-25 52 views
0

我想讓我的代碼從使用Fishpig擴展的Magento中的wordpress中返回最後3個帖子。這是迄今爲止的代碼,但它似乎不止一次地返回帖子。我也需要它來返回帖子,因爲它現在還返回頁面。Fishpig獲取標題,發佈內容,發佈縮略圖和永久鏈接

<?php $resource = Mage::getSingleton('core/resource'); 
    $readConnection = $resource->getConnection('core_read'); 
    $query = "SELECT p.id,p.post_title,p.post_name ,p.post_content,p.comment_count,pm.meta_value FROM wp_postmeta AS pm INNER JOIN wp_posts AS p ON pm.post_id=p.ID ORDER BY p.post_date"; 
    $results = $readConnection->fetchAll($query); 


    ?> 
<?php 
    foreach($results as $row) { ?> 
<?php if($row['post_title']!='Auto Draft'): 
    //Get url from pm.meta_value 
    /********/ 
    $readConnection1 = $resource->getConnection('core_read'); 
    $query1 ="SELECT * FROM `wp_postmeta` WHERE `post_id` = '".$row['meta_value']."' AND meta_key='_wp_attached_file'"; 
    $results1 = $readConnection->fetchAll($query1); 
    $url='/news/wp-content/uploads/'.($results1[0]['meta_value']); 
    ?> 
<div class="blog-post-image"> 
    <img src="<?php echo $url; ?>"> 
</div> 
<div class="blog-post-content"> 
    <?php ?> 
    <h3> <a href="<?php echo $this->getUrl('news/').$row['post_name'];?>"> <?php echo $row['post_title'];?></a></h3> 
    <p class="blog-content"> <?php $content = $row['post_content']; echo $string = substr($content,0,220); if(strlen($content)>220){echo "...";}  ?></a></p> 
    <a href="" class="blog-posts-cta">More Info</a> 
</div> 
<?php endif; ?> 
<?php 
    if($counter == 4) 
    { 
     break; 
    } 
    $counter++; 
    } 

    ?> 

回答

0

要顯示3個員額,並顯示文章標題,URL,圖片和帖子內容(或摘錄),你需要下面的代碼:

<?php $posts = Mage::getResourceModel('wordpress/post_collection') 
    ->addIsViewableFilter() 
    ->addPostTypeFilter('post') 
    ->setPageSize(3) 
    ->load() ?> 
<?php if (count($posts) > 0): ?> 
    <ul> 
     <?php foreach($posts as $post): ?> 
      <li> 
       <h2> 
        <a href="<?php echo $post->getPermalink() ?>"><?php echo $this->escapeHtml($post->getPostTitle()) ?></a> 
       </h2> 
       <?php if ($image = $post->getFeaturedImage()): ?> 
        <a href="<?php echo $post->getPermalink() ?>" class="fimg"><img src="<?php echo $image->getAvailableImage() ?>" alt="" /></a> 
       <?php endif; ?> 
       <?php echo $post->getPostContent() ?> 
       <?php 
       /** 
       * You could also use: 
       * echo $post->getPostExcerpt(20) 
       * This would display the first 20 words of the post content 
       * or the manually entered excerpt 
       **/ 
       ?> 
      </li> 
     <?php endforeach; ?> 
    </ul> 
<?php endif; ?> 

這手已經被軟件寫迅速尚未經過測試,但應該可以正常工作。