我正在尝试删除由插件设置的两个contactmethods。我读了很多关于添加/删除操作的书,但没有找到关于添加/删除筛选器的内容。
原始插件代码:
function pg_contactmethods( $contactmethods ) {
$contactmethods[ \'twitter\' ] = \'Twitter\';
$contactmethods[ \'facebook\' ] = \'Facebook\';
unset( $contactmethods[ \'aim\' ] );
unset( $contactmethods[ \'yim\' ] );
unset( $contactmethods[ \'jabber\' ] );
return $contactmethods;
}
add_filter( \'user_contactmethods\', \'pg_contactmethods\', 10, 1 );
我可以注释掉推特和脸书上的行,这很有效,但我不想修改原来的插件。
我创建了一个功能插件,并添加了以下内容:
remove_filter( \'user_contactmethods\', \'pg_contactmethods\', 10, 1 );
没有任何变化。
尝试在新函数中仅使用以下两行:
unset ( $contactmethods[ \'twitter\' ] );
unset ( $contactmethods[ \'facebook\' ] );
没有任何变化。
在我的功能插件中尝试了以下删除过滤器/添加过滤器:
remove_filter (\'user_contactmethods\', \'pg_contactmethods\', 10, 1);
add_filter (\'user_contactmethods\', \'my_contactmethods\', 10, 1);
function my_contactmethods( $contactmethods ) {
//$contactmethods[ \'twitter\' ] = \'Twitter\';
//$contactmethods[ \'facebook\' ] = \'Facebook\';
unset( $contactmethods[ \'aim\' ] );
unset( $contactmethods[ \'yim\' ] );
unset( $contactmethods[ \'jabber\' ] );
return $contactmethods;
}
同样,一切都没有改变。
对我做错了什么有什么建议吗?
编辑:我正在使用WP 4.3.1,带有子主题。