【问题标题】:how to add_filter in wordpress, change array如何在wordpress中添加过滤器,更改数组
【发布时间】:2013-10-18 11:38:16
【问题描述】:

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

            $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' );

谢谢

【问题讨论】:

    标签: php arrays wordpress jigoshop


    【解决方案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 );
    

    【讨论】:

    • 谢谢你的解释!
    猜你喜欢
    • 2020-04-06
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多