将带有Body_Class的类添加到带有参数的特定URL

时间:2019-10-11 作者:LovinQuaQua

我尝试向特定页面/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\' );

1 个回复
最合适的回答,由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\' );

相关推荐

Custom URl parameter

我有Wp博客,需要在分类页面上接收一个自定义参数,以过滤像我的规则这样的帖子。例如:http://mysite.com/category/teste?myvar=ABC如何从URL获取myvar?我在网上尝试了很多例子,但没有一个适合分类页面。谢谢