我已经安装了一个显示自定义小部件的插件,我正在尝试添加一个简单的过滤器来更改target
链接中的属性_blank
到self
.
这是我试图修改的代码:
<?php
$link = "<a href=\'{$affiliate_link}\'
rel=\'nofollow\' target=\'_blank\' class=\'wppr-bttn\'>" . __(
$instance[\'cwp_tp_buynow\'], \'cwppos\' ) . \'</a>\';
if ( ! empty( $instance[\'cwp_tp_buynow\'] ) ) {
echo apply_filters(
\'wppr_widget_style1_buynow_link\', $link, get_the_ID(), $affiliate_link,
$instance[\'cwp_tp_buynow\'] );
}
$link = "<a href=\'{$review_link}\' rel=\'nofollow\'
target=\'_blank\' class=\'wppr-bttn\'>" . __( $instance[\'cwp_tp_readreview\'],
\'cwppos\' ) . \'</a>\';
if ( ! empty( $instance[\'cwp_tp_readreview\'] ) ) {
echo apply_filters(
\'wppr_widget_style1_readreview_link\', $link, get_the_ID(), $review_link,
$instance[\'cwp_tp_readreview\'] );
}
?>
代码显示2个按钮。这是我想修改的第二个(阅读评论)链接。
我尝试了以下代码,但它导致我的网站崩溃:
add_filter( \'wppr_widget_style1_readreview_link\', \'review_link_custom\' );
function review_link_custom( $link, get_the_ID(), $review_link,
$instance[\'cwp_tp_readreview\'] ) {
$link = "<a href=\'{$review_link}\' rel=\'nofollow\' target=\'_self\'
class=\'wppr-bttn\'>" . __( $instance[\'cwp_tp_readreview\'], \'cwppos\' ) .
\'</a>\';
return $link;
}
最合适的回答,由SO网友:kero 整理而成
您的PHP无效(从PHP错误日志中可以明显看出这一点)。
function review_link_custom( $link, get_the_ID(), $review_link, $instance[\'cwp_tp_readreview\'] ) {
函数既不能有其他函数,也不能有数组+键作为参数,只能为传递的参数指定名称。此外,在添加过滤器时,您必须指定传递给它的参数数量(默认值为2-您有4个,因此需要显式指定)。试试这样吧
add_filter( \'wppr_widget_style1_readreview_link\', \'review_link_custom\', 10, 4 );
function review_link_custom( $link, $id, $review_link, $cwp_tp_readreview ) {
$link = "<a href=\'{$review_link}\' rel=\'nofollow\' target=\'_self\' class=\'wppr-bttn\'>" . __( $cwp_tp_readreview, \'cwppos\' ) . \'</a>\';
return $link;
}