我从昨天开始在Wordpress上为我的博客开发我的第一个主题或任何类型的开发,在完成了大部分基本的东西之后,我想创建一个存档页面。通过wp_get_archives函数实现的存档页面的默认输出是the_title(文章的)。
然而,我想显示存档文章以及它们各自的 post_date。格式似乎是硬编码在general_template.php (真的!!)但是我对WordPress的设计理念不熟悉,想进一步评论一下)
我通过直接修改wp-includes目录下的general_template.php文件来做到这一点。我更改了wp_get_archives &get_archives_link函数(主要代码更改是…)
*wp_get_archives()
............
$text = strip_tags( apply_filters( 'the_title', $result->post_title, $result->ID ) );
$text .= "|||" . date('F j, Y', strtotime($result->post_date));
*get_archives_link()
............
elseif ('withdate_ms' == $format) {
$text_pieces = explode("|||", $text);
$link_html = "'t<li>$before<a href='$url'>{$text_pieces[0]}</a> • {$text_pieces[1]} $after</li>'n";
}
这达到了我想要做的。但是,我不是感觉这是好做法尝试直接改变核心wordpress文件(特别是对于这种琐碎的东西)。我是WP的新手,但我想肯定有wordpress的方法来实现这一点。我该如何在不触及核心的情况下实现这个修改?这种方法是否适用于对核心功能的其他更改(对于任何其他设置,如果我将来需要更改)?
将wp_get_archives( )
函数复制粘贴到主题的functions.php
文件中,然后重命名它(以避免函数名称冲突),并将该函数用作通常使用wp_get_archives( )
的任何地方的插入式替换。
确保复制了整个函数,并且该函数内部使用的所有其他函数都应该正常工作。
需要注意的一点是,如果wp_get_archives( )
将来有任何更新,您将不得不将这些更改集成到您的新功能中,或者不进行这些更改,因为更新将对您的功能没有影响。