首页 收藏 文章 闲言 友链

WordPress 主题开发:首页、搜索页、分类页、标签页文章列表输出

2019-05-21 10:46:16 浏览:140 编辑:郑妙忠

首页获取顶置文章与通过分类id获取分类下的文章

涉及模板页面:index.php

<?php
  // 获取顶置文章的参数
  $top_array = array(
    'post__in' => get_option( 'sticky_posts'),
    'caller_get_posts' => 1,
    'posts_per_page' => 6 // 获取文章数量
  );

  // 获取某分类文章的参数
  $cat_array = array(
    'cat' => 1 // 分类id
    'posts_per_page' => 5, // 获取文章数量
  );

  $query = new WP_Query($array); // 根据需求修改数组,$array 可替换为 $top_array、$cat_array 或其它的参数
  if($query->have_posts()) :
    while($query->have_posts()) : $query->the_post();
      //循环内容
      echo get_the_ID(); // 打印文章id
      echo get_the_permalink(); // 打印文章链接
      echo get_the_title(); // 打印文章标题
      echo get_the_excerpt(); // 打印文章摘要,关于文章摘要的修改,请到《WordPress 主题开发:修改默认设置》
      echo get_the_date(); // 打印文章创建日期
      echo get_edit_post_link(); // 打印编辑文章快捷链接,没登录时返回空链接
      echo get_delete_post_link(); // 打印删除文章快捷链接,没登录时返回空链接
      has_post_thumbnail() ? the_post_thumbnail() : 0; // 输出文章特色图片,为<img>标签格式
    endwhile;
  endif;
  wp_reset_query();
?>

《WordPress 主题开发:修改默认设置》

搜索页分类输出

涉及模板页面:search.php

<?php
  $query = new WP_Query(array(
    's' => $s, // 搜索地址等于 https://www.site.com/?s=wordpress 时,$s 等于 'wordpress',不用自己获取。
    'cat' => 1, // 分类id
  ));
  if($query->have_posts()) :
    while($query->have_posts()) : $query->the_post();
      //循环内容,同index.php
      /*......*/
    endwhile;
  endif;
  wp_reset_query();
?>

分类页、标签页文章列表输出

涉及模板页面:category.php、category-{type}.php、tag.php

<?php
  echo single_cat_title('', false); // 打印分类标题,category.php里使用
  echo single_tag_title('', false); // 打印标签标题,tag.php里使用

  echo strip_tags(category_description()); // 打印分类、标签描述,strip_tags()作用是剥去html标签

  $cat_ID = get_query_var('cat'); // 获取当前分类id,category.php里使用
  $tag_ID = get_query_var('tag'); // 获取当前标签id,tag.php里使用

  $query = new WP_Query(array('cat' => $cat_ID)); // 通过分类id获取文章,category.php里使用
  $query = new WP_Query(array('tag' => $tag_ID)); // 通过标签id获取文章,tag.php里使用

  if($query->have_posts()) :
    while($query->have_posts()) : $query->the_post();
      //循环内容,同index.php
      /*......*/
    endwhile;
  endif;
  wp_reset_query();
?>
END

留言 (共 0 条)