全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: 唐王李世民

[疑问] WordPress中的存档如何DIY呢?

[复制链接]
 楼主| 发表于 2024-2-29 14:19:51 | 显示全部楼层
GoHost 发表于 2024-2-29 14:13
节选了wp_get_archives内部的一段代码  参数中支持设定year
function wp_get_archives( $args = '' ) {
        gl ...
<?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 36 ) ); ?>


像这条命令是只显示最近3年的吗?

发表于 2024-2-29 14:55:51 | 显示全部楼层
唐王李世民 发表于 2024-2-29 14:19
像这条命令是只显示最近3年的吗?

是的  最近36个月的
我找了下这个函数的资料
https://www.wp-diary.com/wp_get_archives.html
wp_get_archives调用实例:
1、以月归档方式显示十二个月的归档
按月份显示存档列表,只显示最后十二个月的文章。

<?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 12 ) ); ?>

要不你试试用ChatGPT实现你的需求
 楼主| 发表于 2024-2-29 15:19:43 | 显示全部楼层
GoHost 发表于 2024-2-29 14:55
是的  最近36个月的
我找了下这个函数的资料
https://www.wp-diary.com/wp_get_archives.html

我修改了sidebar.php里的 <?php wp_get_archives( 'type=monthly' ); ?> 这一行为 <?php wp_get_archives( array( 'type' => 'monthly', 'limit' => 12 ) ); ?>

没有效果。
发表于 2024-2-29 16:14:43 | 显示全部楼层
本帖最后由 GoHost 于 2024-2-29 16:21 编辑

要实现在WordPress网站上,使用twentyten 4.0主题时,归档列表仅显示当年的月份而不是所有历史月份,你可以通过修改主题的functions.php文件或创建一个子主题来自定义函数,以便更安全地进行更改。下面是一个步骤指南和代码示例:

创建子主题(推荐)

1. 创建子主题目录:在`wp-content/themes`目录下,创建一个新目录,例如`twentyten-child`。
2. 创建样式表:在`twentyten-child`目录中,创建一个`style.css`文件,添加以下内容:
  1. /*
  2.    Theme Name: Twenty Ten Child
  3.    Template: twentyten
  4.    */
  5.    @import url("../twentyten/style.css");
复制代码

3. 激活子主题:在WordPress后台的“外观 > 主题”中激活你的子主题。


修改functions.php

在你的子主题目录中,创建或编辑`functions.php`文件,然后添加以下代码:

  1. function filter_archives_by_current_year($where) {
  2.     $year = date('Y'); // 获取当前年份
  3.     $where .= " AND post_date >= '$year-01-01' AND post_date <= '$year-12-31'";
  4.     return $where;
  5. }
  6. add_filter('getarchives_where', 'filter_archives_by_current_year');
复制代码


这段代码通过`getarchives_where`过滤器修改了归档查询,使其仅返回当前年份的月份。

注意事项

●修改主题文件时,请确保备份原文件,以防出现问题。
●使用子主题可以确保在主题更新时,你的更改不会丢失。
●如果你不熟悉PHP或WordPress开发,请在进行更改前咨询专业人士。

通过上述步骤,你应该能够实现在WordPress网站上,归档列表仅显示当前年份的月份。
 楼主| 发表于 2024-3-5 16:35:52 | 显示全部楼层
GoHost 发表于 2024-2-29 16:14
要实现在WordPress网站上,使用twentyten 4.0主题时,归档列表仅显示当年的月份而不是所有历史月份,你可以 ...

谢谢您的回复,我试试看
发表于 2024-3-6 17:11:22 | 显示全部楼层
唐王李世民 发表于 2024-3-5 16:35
谢谢您的回复,我试试看

不客气  希望能帮到你  如果还有问题欢迎发出来我们一起探讨
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-17 02:42 , Processed in 0.067344 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表