-1

我有一个 wordpress 网站,我想在类别中显示帖子标题列表。像

第一类
帖子 1
帖子 2

第 2 类
帖子 1
帖子 2
帖子 3

第 3 类
帖子 1
帖子 2
    $show_count = 0;
    $pad_counts = 0;
    $分层= 1;
    $taxonomy = '过滤器';
    $标题=真;
    $描述=真;

    $args = 数组(
    'show_count' => $show_count,
    'pad_counts' => $pad_counts,
    '分层' => $分层,
    '分类法' => $分类法,
    'use_desc_for_title' => $描述,
    'title_li' => $title
     );

   $categories=get_categories($args);
   foreach($categories as $category) {
  echo '<p>Category: <a href="' .get_category_link( $category->term_id ) . '" title="' . sprintf( __( "查看 %s 中的所有帖子" ), $category->name ) '"'。'>' 。$category->name.'</a> </p>';


    //显示帖子
$cat_new = $category->term_id;
$post_args = array('numberposts' => -1, 'category' => $cat_new, 'caller_get_posts' => 0);


$myposts = get_posts($post_args);
    foreach( $myposts as $post ) : setup_postdata($post); ?>

echo '<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?>';

   结束;}   

上面的代码只是显示一个类别列表,而不是它下面的帖子标题。

我很困惑,我已经阅读了很多博客并为此发帖,但仍未完成。任何帮助将不胜感激。提前致谢。

4

3 回答 3

3

首先,您的代码已损坏,这可能会破坏您的主题,因此帖子不会显示。endforeach 之前的最后一行缺少结束标记

  • 和 。PHP 代码中还存在 php 开始和结束标记,这是非常错误的。

        $show_count = 0; 
            $pad_counts = 0; 
            $hierarchical = 1; 
            $taxonomy = 'filter';
            $title = true;
            $description = true;
    
            $args = array(
            'show_count' => $show_count,
            'pad_counts' => $pad_counts,
            'hierarchical' => $hierarchical,
            'taxonomy' => $taxonomy,
            'use_desc_for_title' => $description,
            'title_li' => $title
             );
    
           $categories=get_categories($args);
           foreach($categories as $category) { 
          echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
    
    
    
        $cat_new = $category->term_id;
        $post_args = array( 'numberposts' => -1, 'category' => $cat_new, 'caller_get_posts' => 0 );
    
    
        $myposts = get_posts( $post_args );
            foreach( $myposts as $post ) :  setup_postdata($post);
    
        echo '<li><a href="'.the_permalink().'">'.the_title().'</a></li>';
    
           endforeach;
    endforeach;
     }  
    
  • 于 2013-07-28T13:05:16.450 回答
    0

    caller_get_posts您在此代码中使用了一个非常古老且已弃用的参数:

    $post_args = array( 'numberposts' => -1, 'category' => $cat_new, 'caller_get_posts' => 0 );
    

    你应该替换为ignore_sticky_posts

    $post_args = array( 'numberposts' => -1, 'category' => $cat_new, 'ignore_sticky_posts' => 0 );
    
    于 2015-07-12T21:50:53.827 回答
    -1
    <?php
        $query = new WP_Query( array( 'post_type' => 'post','posts_per_page' => -1 ) ); 
        while($query->have_posts()) : $query->the_post();
    ?>
    <ul>
        <li>
        <h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
            <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_category(); ?></a> 
    
        </li>
    </ul>
    <?php endwhile; ?>
    
    于 2015-10-29T06:45:20.703 回答