首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Wordpress重写主题的wp_get_archives

用Wordpress重写主题的wp_get_archives
EN

Stack Overflow用户
提问于 2010-01-12 10:13:17
回答 1查看 2.3K关注 0票数 3

我是我的工作方式,通过定制Worpress默认主题。我遇到了一个格式化存档链接的问题。

默认主题使用在wp_get_archives中定义的general-template.php函数。函数的输出是可定制的,但对我来说还不够定制。

我可以通过在我的functions.php文件中重新实现这个特定的函数来实现我想做的所有事情,但是我对此犹豫不决,因为随着Wordpress的更新,它引入了回归问题。wp_get_archives执行所有较低级别的操作,比如构造DB查询并缓存DB结果。如果可以的话,我真的很想避免这样做。

另一种对我开放的方法是创建get_archives_link过滤器,此时链接HTML已经格式化,我需要运行大量正则表达式才能理解它。对我来说,这似乎完全相反,因为它会完全扼杀表演。

这正是我想要的输出:

代码语言:javascript
复制
<li><a href="/year/01">JAN</a></li>
<li class="current"><a href="/year/02">FEB</a></li>
<li>MAR</li> <!--no blog entries this month-->
...

据我所见,wp_get_archives有硬编码的锚文本:

代码语言:javascript
复制
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);

然后是一个添加没有帖子的月份的问题,我更愿意在不解析文本的情况下这样做。然后,我需要添加当前类(当URL类似于./2009/12)。

实际上,我有一个使用wp_get_archives副本工作的解决方案。这是做事情的方式吗?我是不是太担心什么事了?

编辑我想真正的问题是可以为Wordpress主题编写oen吗?如果是的话,最佳做法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-12 11:30:32

如果您在活动主题中的functions.php文件中定义了它,那么通常不会出现回归问题。

但是,在更改默认主题时,这并不完全正确。如果你想通过上传整个Wordpress源代码来升级wordpress,它会覆盖functions.php。

若要解决此问题,请复制包含默认主题的整个文件夹。在新的副本中,编辑style.css并将第2行(主题名称)更改为新的主题名称。

Theme Name: WordPress Default

Wordpress现在将看到一个额外的主题,您可以根据自己的内心内容编辑它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2048110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档