2013-03-12 174 views
0
<div id="portfolio"> 
     <ul id="portfolio-items" > 
      <?php $query = new WP_Query(); $count = 1; 
      //$catquery = new WP_Query('category_name=roomsandspecials&posts_per_page=10'); 

      $categories12 = get_terms('skill-type', $cat_args); 


// These functions and add_filters could go in your functions.php file 
function mam_posts_fields ($fields) { 
    global $mam_global_fields; 
    // Make sure there is a leading comma 
    if ($mam_global_fields) $fields .= (preg_match('/^(\s+)?,/',$mam_global_fields)) ? $mam_global_fields : ", $mam_global_fields"; 
    return $fields; 
} 
function mam_posts_where ($where) { 
    global $mam_global_where; 
    if ($mam_global_where) $where .= " $mam_global_where"; 
    return $where; 
} 
add_filter('posts_fields','mam_posts_fields'); 
add_filter('posts_where','mam_posts_where'); 

$mam_global_fields = ", $wpdb->term_relationships.term_taxonomy_id"; 
$mam_global_where = " AND post_date = 
    (SELECT MAX(p.post_date) 
    FROM $wpdb->posts p, $wpdb->term_relationships tr 
    WHERE p.ID = tr.object_id 
    AND tr.term_taxonomy_id = $wpdb->term_relationships.term_taxonomy_id 
    AND p.post_type = 'portfolio' 
    AND p.post_status = 'publish' 
    AND p.post_date < NOW()) "; 



for ($i = 0; $i < count($categories12); $i++) { 


query_posts(array(    
       'post_type' => 'portfolio', 
       'tax_query' => array(
        array(
         'taxonomy' => 'skill-type', 
         'field' => 'id', 
         'terms' => $categories12[$i]->term_id 
        ) 
       ) 
      )); 

//query_posts($args); 

if (have_posts()) : while (have_posts()) : the_post(); ?> 
<li <?php post_class() ?> id="post-<?php the_ID(); ?>"> 
<?php get_the_image(array('size' => 'portfolio-thumb', 'width' => 220, 'height' => 140, 'link_to_post' => false )); ?> 
    <div class="meta"> 
<h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'wpzoom'), get_the_title()); ?>"> <?php the_title(); ?></a></h3> 
    <?php echo $categories12[$i]->name; ?> 
</div> 
    </li> 
<?php 
//echo $categories12[$i]->term_id; 
endwhile; endif; } 
    ?> 
</ul></div> 

我正在使用上面的代码来显示类别的最新帖子。当我不使用add_filter('posts_fields' 'mam_posts_fields'); add_filter('posts_where','mam_posts_where'); 它显示所有类别的帖子。我想从所有类别显示最新的帖子来自wordpress中的指定类别

回答

0

请尝试以下脚本,让获得最新的岗位我知道

<?php 
$catquery = new WP_Query('cat=3&posts_per_page=5'); 
while($catquery->have_posts()) : $catquery->the_post(); 
?> 
<ul> 
<li><h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> </h3> 
<ul><li><?php the_content(); ?></li> 
</ul> 
</li> 
</ul> 
<?php endwhile; ?> 




or 

<?php query_posts('category_name=wordpress&showposts=5'); ?> 
<?php while (have_posts()) : the_post(); ?> 
<li><a href="<?php the_permalink(); ?>"> 
<?php the_title(); ?> 

     </a> </li> 

    <?php endwhile; ?> 

请检查下面两个脚本 首先脚本

<?php 
    $cat_args = array(
     'orderby' => 'name', 
     'order' => 'ASC', 
     'child_of' => 0 
    ); 

    $categories = get_categories($cat_args); 

    foreach($categories as $category) { 
     echo '<dl>'; 
     echo '<dt> <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>' . $category->name.'</a></dt>'; 

     $post_args = array(
      'numberposts' => 1, 
      'category' => $category->term_id 
     ); 

     $posts = get_posts($post_args); 

     foreach($posts as $post) { 
     ?> 
      <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd> 
     <?php 
     } 
     echo '<dd class="view-all"> <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>View all posts in ' . $category->name.'</a></dd>'; 
     echo '</dl>'; 
    } 
    ?> 
    **Second script** 

     This will print categories and posts 
     <?php 
     //for example categories ids 42,6,8, show 1 posts 
     $cat_args=array(
      'include' => '42,6,8', 
      'orderby' => 'name', 
      'order' => 'ASC' 
      ); 
     $categories=get_categories($cat_args); 
      foreach($categories as $category) { 
      $args=array(
       'showposts' => 1, 
       'category__in' => array($category->term_id), 
       'caller_get_posts'=>1 
      ); 
      $posts=get_posts($args); 
       if ($posts) { 
       echo '<p>Category: <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>' . $category->name.'</a> </p> '; 
       foreach($posts as $post) { 
        setup_postdata($post); ?> 
        <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p> 
        <?php 
       } // foreach($posts 
       } // if ($posts 
      } // foreach($categories 
     ?> 
+0

我想显示每个类别 – 2013-03-12 09:18:29

+0

的一篇文章(最新文章),请检查更新的脚本 – kapil 2013-03-12 12:55:37

相关问题