안녕하세요. 오늘 질문이 많네요..ㅎㅎ;; 잘 부탁드립니다.
현재 코스모스팜 소셜로그인 숏코드를 수정을 하여 메뉴에 로그인 후 내정보 아이콘을 추가하여 사용 중입니다.
아래 처럼 로그인 후엔 아이콘이 내정보 페이지로 연결되게 수정했는데요.
쪽지나, 댓글알림이 있을 경우, [cosmosfarm_members_unread_notifications_count]와 [cosmosfarm_members_unread_messages_count] 숏코드를 이용해서 login_icon.png위에 안읽은 개수를 표시하고 싶습니다.
어떻게 적용할 수 있을까요?
<div class="cosmosfarm-social-login">
<?php if(!is_user_logged_in()) : ?>
<a href="https://onlymedaka.com/?page_id=2788"="_self" title="로그인"><img src="<?php echo $skin_path?>/images/login_icon.png"></a>
<?php foreach($option->social_login_active as $channel):?>
<a href="<?php echo home_url('?action=cosmosfarm_members_social_login&channel=' . $channel)?>&redirect_to=<?php echo urlencode(esc_url_raw($redirect_to))?>" title="<?php echo $channel?>"><img src="<?php echo $skin_path?>/images/icon-<?php echo $channel?>.png" alt="<?php echo $channel?>"></a>
<?php endforeach?>
<?php else : ?>
<a href="https://onlymedaka.com/?page_id=2795"="_self" title="내정보"><img src="<?php echo $skin_path?>/images/login_icon.png"></a>
<?php endif?>
</div>
안녕하세요~^^
코스모스팜 회원관리 플러그인의 알림 및 쪽지 개수는
올려주신 것처럼 아래의 숏코드로 표시하실 수 있습니다.
[cosmosfarm_members_unread_notifications_count]
[cosmosfarm_members_unread_messages_count]
php 파일에서 숏코드가 실행되게 하시려면
do_shortcode 함수를 활용해보시겠어요?
아래의 코드를 활용해보세요.
알림 : <?php echo do_shortcode('[cosmosfarm_members_unread_notifications_count]');?>
쪽지 : <?php echo do_shortcode('[cosmosfarm_members_unread_messages_count]')?>
고맙습니다.
네 감사합니다. 그런데 몇 가지 더 여쭤보고 싶은것이 있습니다.
1. UI로 봤을때 아이콘 상단에 겹치게 하는건 가능한가요? 마치 스마트폰의 앱 알림 처럼요.
2. 저 알림이나 쪽지가 오면 코드를 분기를 태우고싶은데요. 상수값으로도 얻어올 수 있나요?
3. 저 숏코드의 폰트 사이즈는 어떻게 키우나요? 작게나오네요.
1. 기존의 레이아웃에 겹쳐서 표시되게 하시려면
CSS position은 활용하셔야 할 듯합니다.
자세한 내용은 아래의 링크를 참고해보세요.
https://www.w3schools.com/cssref/pr_class_position.asp
레이아웃 수정 시 HTML과 CSS 코드에 대해 알면 도움이 됩니다.
2. 알림이나 쪽지 개수는 get_user_meta 함수를 활용하시면 별도로 가져오실 수 있습니다.
메타키는 cosmosfarm_members_unread_notifications_count, cosmosfarm_members_unread_messages_count로 숏코드명과 일치합니다.
아래의 코드로 현재 로그인한 사용자의 알림 및 쪽지 개수를 가져올 수 있습니다.
intval(get_user_meta(get_current_user_id(), 'cosmosfarm_members_unread_notifications_count', true));
intval(get_user_meta(get_current_user_id(), 'cosmosfarm_members_unread_messages_count', true));
3. 알림, 쪽지 폰튼 사이즈를 조절하시려면
워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에
아래의 코드를 추가해보세요.
.cosmosfarm-members-unread-notifications-count, .cosmosfarm-members-unread-messages-count { font-size: 14px !important; }
해당 폰트 사이즈의 기본값은 10px 입니다.
적절히 조절해보시겠어요?
고맙습니다.
답변 감사합니다.
$user_id는 그냥 쓰면 얻어와지나요?
Notice: Undefined variable: user_id in /onlymedaka/www/wp-content/plugins/cosmosfarm-members/skin/two/social-buttons.php
코드를 수정하니 다음과 에러 코드가 같이 나옵니다.
코드를 올리면서 착오가 있었습니다.
$user_id 대신 get_current_user_id() 함수를 활용해보시겠어요?
이전 댓글의 코드는 조금 수정해두었습니다.
고맙습니다.