我尝试向特定页面/url的正文中添加一个类,该类的末尾有一个参数。url如下所示:https://sample-site.com/user/37/?um_action=edit
在我的代码中,该类也被添加到url中,不带参数。我知道为什么会发生这种情况,但我没有任何其他办法让它发挥作用。
function leweb_add_body_class_um_edit_profile( $classes ) {
global $wp;
$current_url = home_url( add_query_arg( array(), $wp->request ) ) . \'/?um_action=edit\';
$profile_url = um_user_profile_url() . \'?um_action=edit\';
if ( $profile_url == $current_url ) {
$classes[] = \'leweb-um-profile-edit\';
}
return $classes;
}
add_filter( \'body_class\',\'leweb_add_body_class_um_edit_profile\' );
最合适的回答,由SO网友:Jacob Peattie 整理而成
你有点太复杂了。?um_action=edit
是查询字符串,其值在$_GET
超全局。要检查它是否存在并具有特定值,只需执行以下操作:
function leweb_add_body_class_um_edit_profile( $classes ) {
if ( isset( $_GET[\'um_action\'] ) && \'edit\' === $_GET[\'um_action\'] ) {
$classes[] = \'leweb-um-profile-edit\';
}
return $classes;
}
add_filter( \'body_class\',\'leweb_add_body_class_um_edit_profile\' );