我试图编辑bbpress的面包屑默认设置的几部分,但我尝试的过滤器最终取代了整个功能。如何仅替换位?这是现在的过滤器
function custom_bbp_breadcrumb() {
$args = array (
\'before\' => \'<div class="bbp-breadcrumb">\',
\'after\' => \'</div>\',
\'sep\' => __( \'›\', \'bbpress\' ),
);
return $args;
}
add_filter(\'bbp_get_breadcrumb\', \'custom_bbp_breadcrumb\' );
我可以复制+粘贴整个函数并对其进行过滤,但这将非常低效。
最合适的回答,由SO网友:s_ha_dum 整理而成
看起来这不是我们想要的过滤器。它就在BBPress的末端bbp_get_breadcrumb
函数,它位于要更改的内容之后。
您可以使用更改分隔符bbp_breadcrumb_separator
看起来前后都可以设置bbp_get_breadcrumb_pre
. 事实上,看起来您应该能够对所有这些过滤器使用最后一个过滤器。
我不运行BBPress,因此这是未经测试的,但您想要的可能是:
function custom_bbp_breadcrumb() {
$args[\'before\'] = \'<div class="bbp-breadcrumb">\';
$args[\'after\'] = \'</div>\';
$args[\'sep\'] = __( \'›\', \'bbpress\' );
return $args;
}
add_filter(\'bbp_before_get_breadcrumb_parse_args\', \'custom_bbp_breadcrumb\' );
您使用过滤器函数所做的是完全擦除输入。您在过滤器函数中创建了一个全新的数组,并将该新数组发送回。修改后的过滤器所做的是接受输入,修改它,然后返回,只更改了一些部分,其他的都不做。