0

在插件中我有这个代码..

            $links = apply_filters( 'jigoshop_widget_logout_user_links' , array(
            __( 'My Account', 'jigoshop' )     => get_permalink( jigoshop_get_page_id('myaccount') ),
            __( 'Change Password', 'jigoshop' )=> get_permalink( jigoshop_get_page_id('change_password') ),
            __( 'Logout', 'jigoshop' )         => wp_logout_url( home_url() ),
        ));

是否可以使用该add_filter 函数来更改此数组的值?

我目前正在尝试学习过滤器,并试图将其用作一个简单的示例。

如果可能的话,我不确定你如何将新信息传递给这个数组。

假设我想改变

__( 'My Account', 'jigoshop' ) => get_permalink( jigoshop_get_page_id('myaccount') )

__( 'Logout', 'jigoshop' ) =>'test'

到目前为止我有这个..

function change_links() {
            $links = apply_filters( 'jigoshop_widget_logout_user_links' , array(
            __( 'My Account', 'jigoshop' )     => get_permalink( jigoshop_get_page_id('myaccount') ),
            __( 'Change Password', 'jigoshop' )=> get_permalink( jigoshop_get_page_id('change_password') ),
            __( 'Logout', 'jigoshop' )         =>'test',
        ));
    return $links;
}

 add_filter( 'jigoshop_widget_logout_user_links', 'change_links' );

谢谢

4

1 回答 1

1

通过传递参数改变添加过滤器的方式,你也不需要做另一个apply_filter

function change_links($arr) {
    $arr = array(
            __( 'My Account', 'jigoshop' )     => get_permalink( jigoshop_get_page_id('myaccount') ),
            __( 'Change Password', 'jigoshop' )=> get_permalink( jigoshop_get_page_id('change_password') ),
            __( 'Logout', 'jigoshop' )         =>'test',
        );
    return $arr;
}

 add_filter( 'jigoshop_widget_logout_user_links', 'change_links', 10, 1 );
于 2013-10-18T12:20:55.750 回答