默认情况下,WordPress附带了一个Calendar小部件,您可以使用该小部件显示带有帖子的日期的日历。我想过滤此小部件的HTML输出以自定义其外观。具体来说,该小部件以以下格式在日历底部显示指向上个月和下个月的链接:
«1月2月»
这是我要更改的HTML。
如果您在WordPress中查看wp-includes/general-template.php
文件,则有一个名为get_calendar()
的函数,其中包含我希望更改的HTML。它还具有一个过滤器挂钩,用于过滤函数底部的HTML输出。
如果使用以下代码,则可以自定义输出以删除«和»,并用FontAwesome中的图标替换它们。这没有问题。
function custom_calendar_output( $calendar_output ) {
$search = array( '«', '»' );
$replace = array( '<i class="far fa-arrow-alt-circle-left"></i>', '<i class="far fa-arrow-alt-circle-right"></i>' );
$cust_calendar_output = str_replace( $search, $replace, $calendar_output );
return $cust_calendar_output;
}
add_filter( 'get_calendar', 'custom_calendar_output' );
我还想删除月份文本和默认箭头。因此,与其将其读取为:«Jan,它只会显示FontAwesome中的图标。随着用户在过去几个月中的循环,月份文本也会发生变化(例如1月,2月,3月)。
如何删除默认箭头和月份文本,以自定义图标替换它?
我已阅读到我可能需要在正则表达式中使用preg_replace
,但似乎无法正常工作。我还读到使用正则表达式会消耗大量的开销。有没有更清洁的方法可以做到这一点?