带有年、月、日、帖子和评论计数的 Wordpress 存档列表

     2023-03-06     187

关键词:

【中文标题】带有年、月、日、帖子和评论计数的 Wordpress 存档列表【英文标题】:Wordpress archive list with year, month, days, posts and comment counts 【发布时间】:2013-05-04 20:56:21 【问题描述】:

我愿意实现这样的 Wordpress 存档列表:

2013

5 月 (2)

04 - 我喜欢 Wordpress(3 cmets) 01 - 我真的很喜欢 Wordpress(1 条评论)

2 月 (1)

02 - 我喜欢 Wordpress 吗?

2012

...

根据我在其他地方读到的内容,我必须创建自己的查询。我并不是真正的开发人员。这是我开始的:

<ul>
<?php
$args=array(
    'post_type' => 'post',
    'posts_per_page' => '500', /*no limit, how?*/
    'orderby' => 'date',
    'order' => 'DESC',
    );
query_posts($args);
while (have_posts()) : the_post();
?>

<li><?php the_time('j'); ?> | <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>  <?php comments_number( '', '(1)', '(%)' ); ?></li>

<?php endwhile; ?>
</ul>

你可以在这里看到它的样子: http://www.vie-nomade.com/archives/

我知道需要将所有内容按月分开,然后按年分开。谢谢。

【问题讨论】:

vie-nomade.com/archives 不工作 【参考方案1】:

您可能需要考虑与查询所有已发布帖子相关的性能问题。

我有一个类似的列表,但只显示每个月的帖子数量,总共有 70 个对数据库的查询,如果我将其更改为显示我在该博客中获得的每篇帖子,数量会上升到531 个查询。 (当然包括网站上的其他功能)

每月列表:

每个帖子列表:

如果您决定使用每月列表,您可以使用wp_get_archives。

[/警告结束]

如果不写那么多,只有几篇文章,你应该寻找这样的东西:

<ul class="years">
<?php
$all_posts = get_posts(array(
  'posts_per_page' => -1 // to show all posts
));

// this variable will contain all the posts in a associative array
// with three levels, for every year, month and posts.

$ordered_posts = array();

foreach ($all_posts as $single) 

  $year  = mysql2date('Y', $single->post_date);
  $month = mysql2date('F', $single->post_date);

  // specifies the position of the current post
  $ordered_posts[$year][$month][] = $single;



// iterates the years
foreach ($ordered_posts as $year => $months)  ?>
  <li>

    <h3><?php echo $year ?></h3>

    <ul class="months">
    <?php foreach ($months as $month => $posts )  // iterates the moths ?>
      <li>
        <h3><?php printf("%s (%d)", $month, count($months[$month])) ?></h3>

        <ul class="posts">
          <?php foreach ($posts as $single )  // iterates the posts ?>

            <li>
              <?php echo mysql2date('j', $single->post_date) ?> <a href="<?php echo get_permalink($single->ID); ?>"><?php echo get_the_title($single->ID); ?></a>  (<?php echo $single->comment_count ?>)</li>
            </li>

          <?php  // ends foreach $posts ?>
        </ul> <!-- ul.posts -->

      </li>
    <?php  // ends foreach for $months ?>
    </ul> <!-- ul.months -->

  </li> <?php
 // ends foreach for $ordered_posts
?>
</ul><!-- ul.years -->

【讨论】:

谢谢你,这很好用!当您谈论查询时,我听到了您的声音。确实有很多帖子。我在想每年一页可能会有所帮助?当有一个查询时,比如说 4 页。查询会在 4 内“中断”还是无论如何它仍然是一个巨大的大查询? WPML 用户注意:我在查询中添加了suppress_filters=0,否则它会显示每种语言的所有帖子。 您始终可以依赖 ajax 处理大量数据。也许你可以显示最近一个月的帖子,其余的可以用ajax请求,看看this它不一定是插件,它可以很容易地在一个主题中实现。 您可以通过查询帖子一次,然后使用 PHP 函数使用相同的帖子数组将它们分成年和月来达到相同的效果。 使用页面缓存也有意义(例如 W3 Total Cache)

obs无效的直播地址或直播码

...ia控制面板“显示设置不可用未连接GPU显示器”4809阅读·0评论·3点赞2020年6月6日OBS源码阅读笔记--绿化配置文件路径2408阅读·2评论·2点赞2016年10月18日HTTP协议之请求和响应53阅读·0评论·0点赞2023年1月25日C#华为云OBS通过临时URL实... 查看详情

确定字符串格式是“2013 年 5 月 16 日”还是带有 Javascript 的 UNIX 时间戳

】确定字符串格式是“2013年5月16日”还是带有Javascript的UNIX时间戳【英文标题】:Determineifstringformatis"May16,2013"orUNIXTimestampwithJavascript【发布时间】:2014-01-1509:35:06【问题描述】:对大型数据集进行一些数据整理。数据有... 查看详情

访问令牌现在的行为与 2018 年 7 月 - 2 日之前不同

...愿者为这些动物协调和捐赠资金。我创建了一个可以上传帖子、下载和编辑帖子以及下载cme 查看详情

获取带有时区偏移的日期

】获取带有时区偏移的日期【英文标题】:Gettingdatewithtimezoneoffset【发布时间】:2014-05-2416:28:19【问题描述】:我正在尝试从postgres中的查询中提取日期。时间戳存储为UTC,所以如果我有2014年1月1日02:00:00,我希望太平洋时间的日... 查看详情

如何在不使用 fql 的情况下获取帖子 URL 的 Facebook 点赞、分享和评论计数?

】如何在不使用fql的情况下获取帖子URL的Facebook点赞、分享和评论计数?【英文标题】:Howtogetfacebooklikes,shares,andcommentcountforaposturlwithoutusingfql?【发布时间】:2014-10-0507:14:24【问题描述】:我需要通过传递帖子网址(“www.example.co... 查看详情

Oracle SQL 组行计数按 10 分钟的时间间隔

】OracleSQL组行计数按10分钟的时间间隔【英文标题】:OracleSQLgrouprowcountbytimeintervalsof10minutes【发布时间】:2016-04-1520:32:00【问题描述】:我在oracle中有一个表,其中包含如下数据created_date详细信息2016年1月1日04:45abcd2016年1月1日04:4... 查看详情

sql 在每天结束时关闭不同的计数

】sql在每天结束时关闭不同的计数【英文标题】:sqlclosingdistinctcountsatendofeachday【发布时间】:2016-03-2112:54:20【问题描述】:您好,我需要在每天结束时计算状态=\'AA\'的不同门牌号的关闭计数。所以在2016年3月19日结束时-如果我... 查看详情

2015 年 4 月 30 日之后的 Facebook 申请

...用程序代表注册用户在他的时间线上每天或每周发布一篇帖子。用户ID存储在数据库中,并使用cronjobs进行发布。我的应用程序使用PHPSDK。一切都很顺利,直到2015年4月30日Facebook升 查看详情

Instagram 是不是在 2018 年 3 月 30 日更改了 API 速率限制?

...问题描述】:我使用一些自行开发的脚本来获取有关我的帖子和关注者的信息。最近我发现Instagram更改了我的应用程序的速率限制。我在标题中看到以下信息 查看详情

Instagram 是不是在 2018 年 3 月 30 日更改了 API 速率限制?

...问题描述】:我使用一些自行开发的脚本来获取有关我的帖子和关注者的信息。最近我发现Instagram更改了我的应用程序的速率限制。我在标题中看到以下信息 查看详情

2022年——个人每日分享汇总

摘要:这里先行创建好,主要避免以下问题1.在21年,中途手机坏了一次,部分数据丢失2.累计几月后不便于及时的回顾,比如本次发现21的分享太多都是直接摘抄文章段落,缺少自己思考和书本系统的阅读2... 查看详情

如何计算两个(年-月-日)中间的间隔天数

...一天天的加上去,直到和第二个日期完全相等,设置一个计数器(day++)来统计天数。思路二:上边的问题是将整个问题视为一个整体进行解决,那么正是因为问题的复杂性,为了使用编程来更好的模块化解决,我们引入参考日... 查看详情

怎么跨区内购苹果

...印机怎么用精选推荐广告iOS苹果内购(详细步骤)5374阅读·0评论·1点赞2020年10月13日AppStore内购无法购买,提示“youarenotallowedtopayforthepurchase”4365阅读·0评论·0点赞2019年1月15日教你怎么买美区苹果id5830阅读·0评论·1点赞2022年10月26... 查看详情

strstr() 的参数计数错误

...011-10-2018:04:07【问题描述】:我使用帖子GUID和帖子标题在wordpres中构建了一个导航菜单,我只取了部分标题,为此我正在执行以下操作,$casestudylist.="<liclass=\'subnav\'><ahref=".$v->guid.">".strstr 查看详情

如何比较日期(年、月)和日期(日、月、年)

】如何比较日期(年、月)和日期(日、月、年)【英文标题】:Howtocomparedate(year,month)withdate(day,month,year)【发布时间】:2016-05-1902:03:12【问题描述】:我有一个sql命令,我想检查日期(年、月)是否在日期(日、月、年)和日... 查看详情

2018《哈佛商业评论》正刊与增刊点评(截至8月17日)

2018年以来看过的《哈佛商业评论》正刊与增刊,其中一篇增刊是2015年的,剩下的正刊与增刊都是今年出版的:  正刊   数字化且联网的系统永远不可能安全:3星|《哈佛商业评论》2018年第8期   风投... 查看详情

在 Pandas 中分组和计数

】在Pandas中分组和计数【英文标题】:GroupbyandcountinPandas【发布时间】:2021-12-2712:27:12【问题描述】:我必须对col1、col2和loc的以下数据进行分组,并计算col3中的项目数。此外,要考虑的是开始和结束日期,即日期应介于2021年1... 查看详情

2018年8月13日

...吃吃吃痴痴 关注2017.01.0817:57* 字数561 阅读857评论2喜欢3鬼知道我是为什么开始打算学mysql的;0基础果然是步步维艰,没想到连安装都虐我千百遍;个中崩溃就不 查看详情