如何创建包含特定类别的帖子标题列表的页面?

时间:2017-02-24 作者:Toscano

这里的想法如下(我现在上传了一张图片,以便更清楚地了解我需要什么):

创建一个包含格式良好的CSS表的新页面

  • 每一列都会引用有关该帖子的特定信息(链接标题、帖子日期、帖子作者等)
    1. 我是否必须学习如何从数据库中获取特定信息才能填充此表?或者有没有更简单的方法“告诉”WordPress我需要(动态)分配给每个单元格的内容?

      谢谢我真的不知道该怎么开始。如果能得到任何帮助,我将不胜感激。

      basic image example of what I need

    3 个回复
    最合适的回答,由SO网友:Anwer AR 整理而成

    1: 您可以使用Page template 和自定义WP_Query 将特定类别的帖子显示到页面中。

    2: 你也可以用shortcode 您必须在其中创建shortcode 包含特定类别的帖子,并将该快捷码粘贴到页面中。

    Update

    为自定义页面模板和wp\\U查询添加了示例代码

    <?php
    /**
     *
     * Template Name: Custom post page
     *
     **/
    get_header(); ?>
    
    <div class="main-content" id="main">
    
    <?php
    $args = array(
      \'post_type\' => \'post\',
      \'posts_per_page\'  => 10,
      \'category_name\' => \'your-category-slug\', // replace it with your category slug
    );
    $query = new WP_Query( $args );
    if ( $query->have_posts() ) : ?>
    <table class="table post-table">
      <thead>
        <tr>
          <td><strong>Title</strong></td>
          <td><strong>Author</strong></td>
          <td><strong>Post Date</strong></td>
        </tr>
      </thead>
    <?php  while( $query->have_posts() ) : $query->the_post();
    ?>
    
      <tbody>
        <tr>
          <td><?php the_title(); ?></td>
          <td><?php the_author(); ?></td>
          <td><?php the_date( \'F j Y\'); ?></td>
        </tr>
      </tbody>
    
    <?php endwhile; ?>
    </table>
    <?php endif; wp_reset_postdata(); ?>
    </div>
    <?php get_footer(); ?>
    
    在主题文件夹中创建一个新的php文件,并将上述代码放入其中。然后他们从WP dashboard创建一个新页面,并在右侧边栏上选择您的自定义贴子页面模板。

    SO网友:Morshed Maruf

    <table>
      <tr>
        <th>Category Name</th>
        <th>Post Title</th>
        <th>Author</th>
        <th>Published Date</th>
      </tr>
    
    <?php $temp = $wp_query; $wp_query= null;
        $wp_query = new WP_Query(); $wp_query->query(\'showposts=10\' . \'&paged=\'.$paged);?>
    
        <?php if ( $wp_query->have_posts() ) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
      <tr>
        <td><?php the_category( \', \', $parents, $post_id ); ?></td>
        <td><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
        <td><a href="<?php echo get_author_posts_url( get_the_author_meta( \'ID\' ), get_the_author_meta( \'user_nicename\' ) ); ?>"> <?php the_author(); ?> </a></td>
        <td><?php the_date(); ?></td>
      </tr>
    <?php endwhile; else : ?>
    <p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
    <?php endif; ?>
    </table>
    
    你可以试试这个。希望这对你有帮助。

    SO网友:Landon Call

    <?php 
    if ( have_posts() ) {
        while ( have_posts() ) {
            the_post(); 
            //
            // Post Content here
            //
        } // end while
    } // end if
    ?>
    
    在while循环中,您将为您的表输入html,在表中,您需要调用\\u category();\\u title();\\u作者();获取日期(“是/否”);

    注意:确保表的标题行不在while循环内,否则也会弹出标题行。

    相关推荐

    Reducing Database Query Time

    在这里寻找一些建议。有一位客户已经在WooCommerce上工作了大约一年半。我们为他们建了一个新网站。他们开始增加一条新的家具生产线。每个项目有700-800个产品变体组合。由于从生产线中添加了大约8个新产品,当您在管理中查看产品列表时,加载需要花费很长时间。如果您快速编辑一个产品,并说将其添加到第二个类别,然后单击“更新”,则完成查询平均需要10.2-10.8秒(根据查询监视器)。意识到有700-800个变体需要迭代,如果可以理解的话,可能需要更长的时间。我已经恢复到2017主题,禁用了除woocom