1

我想找到登录用户的 WooCommerce 会员计划,然后添加 CSS。类似于此代码的内容,但此代码不起作用。

$user_id = get_current_user_id();
if ( wc_memberships_is_user_active_member( $user_id, '1-level' ) ) {
    echo '<style>option[value=3333] {display:none;} option[value=3334] {display:none;}</style>';
} else if ( wc_memberships_is_user_active_member( $user_id, '2-level' ) ) {
    echo '<style>option[value=3332] {display:none;} option[value=3334] {display:none;}</style>';
}
else if ( wc_memberships_is_user_active_member( $user_id, '3-level' ) ) {
    echo '<style>option[value=3332] {display:none;} option[value=3333] {display:none;}</style>';
}
4

1 回答 1

0

您可以通过一个 wordpress 钩子来做到这一点,它将在页面上的正确位置回显 css。最好使用的钩子是wp_head动作。

您可以像这样包装您的代码:

add_action( 'wp_head', function() {
  $user_id = get_current_user_id();

  if ( wc_memberships_is_user_active_member( $user_id, '1-level' ) ) {
    echo '<style>option[value=3333] {display:none;} option[value=3334] {display:none;}</style>';
  } else if ( wc_memberships_is_user_active_member( $user_id, '2-level' ) ) {
    echo '<style>option[value=3332] {display:none;} option[value=3334] {display:none;}</style>';
  } else if ( wc_memberships_is_user_active_member( $user_id, '3-level' ) ) {
    echo '<style>option[value=3332] {display:none;} option[value=3333] {display:none;}</style>';
  }
});

您还应该在该函数内部进行检查,以确保您在输出 css 之前位于正确的页面上。

于 2018-09-16T17:33:23.453 回答