WordPress 提供了两种不同的方法来覆盖默认函数输出:可插入函数和过滤器。
可插拔功能
一个可插入的函数(所有这些都存在于 中pluggable.php
),采用以下形式:
if ( ! function_exists( 'some_function' ) ) {
function some_function() {
// function code goes here
}
}
要覆盖可插入功能,只需在您自己的插件中定义它(或在您的主题functions.php
文件中,如果适用):
function some_function() {
// Your custom code goes here
}
过滤器
过滤器采用以下形式:
function some_function() {
// function code goes here
return apply_filters( 'some_function', $output );
}
要覆盖过滤器,请定义一个回调并将其添加到过滤器:
function mytheme_filter_some_function( $output ) {
// Define your custom output here
return $output;
}
add_filter( 'some_function', 'mytheme_filter_some_function' );
专门针对get_calendar()
如果您查看 source,您会看到 for 的输出get_calendar()
通过了get_calendar
过滤器:
return apply_filters( 'get_calendar', $calendar_output );
因此,您只需编写自己的回调来修改$calendar_output
,并将其挂钩到get_calendar
.
function mytheme_filter_get_calendar( $calendar_output ) {
// Define your custom calendar output here
$calendar_output = '';
// Now return it
return $calendar_output;
}
add_filter( 'get_calendar', 'mytheme_filter_get_calendar' );