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

これは、ページの正しい場所に css をエコーする wordpress フックを介して行うことができます。使用するのに最適なフックは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 に答える