안녕하세요
이전글을 검색하여 메뉴에 숏코드를 추가하여 댓글/알림 표시를 하고있습니다.
https://imgur.com/1ioH1vo
메뉴명 및 적용 숏코드는 아래와 같습니다.
내 정보 [cosmosfarm_members_unread_notifications_count][cosmosfarm_members_unread_messages_count]
근데 쪽지도 1개가 오고, 알림도 1개가 있다면 스크린샷처럼 각각 동그란 표시가 2개 뜨는데 이걸 하나로 합쳐서 출력 가능한지요?
예: 쪽지 1개, 알림 1개 총 2개의 알림이 있을 시 동그란 알림에 숫자 2로 표시
감사합니다.
안녕하세요~^^
두 개는 각각의 숏코드로 분리되어 있어
올려주신 내용대로 출력하고자 하면 코드를 새로 작성하여야 합니다.
wp-content/plugins/cosmosfarm-members/cosmosfarm-members.php 파일 중 아래 코드를 찾아서
return '<span class="cosmosfarm-members-unread-notifications-count'.($unread_count?'':' display-hide').'">' . $unread_count . '</span>';
아래 코드처럼 변경해보시겠어요?
$unread_count = apply_filters('cosmosfarm_members_unread_notifications_count', $unread_count);
return '<span class="cosmosfarm-members-unread-notifications-count'.($unread_count?'':' display-hide').'">' . $unread_count . '</span>';
그 다음 테마 functions.php 아래나 코드스니펫 플러그인을 이용해 아래의 코드를 삽입해주세요.
add_filter('cosmosfarm_members_unread_notifications_count', 'cosmosfarm_memebers_notification_0809', 10, 1);
function cosmosfarm_memebers_notification_0809($unread_noti_count){
$unread_count = 0;
$user_id = get_current_user_id();
if($user_id){
$unread_count = intval(get_user_meta($user_id, 'cosmosfarm_members_unread_messages_count', true));
}
if($unread_count){
$total_unread_count = $unread_noti_count+$unread_count;
}
else{
$total_unread_count = $unread_noti_count;
}
return $total_unread_count;
}
이제 원하시는 위치에 아래 숏코드를 삽입하면 두 알람이 합쳐져서 출력됩니다.
[cosmosfarm_members_unread_notifications_count]
고맙습니다.
안녕하세요
위에 말씀해주신 내용으로 적용하였더니, 쪽지 알림은 포함되지 않습니다.
예를 들어 쪽지알림이 1개이고, 글 알림이 3개이면 총 4라고 표시되어야 하는데 3으로만 표시됩니다.
https://imgur.com/k163l4K
감사합니다.
오타가 있었습니다. 죄송합니다.
아래 코드로 변경하여 적용해보시겠어요?
add_filter('cosmosfarm_members_unread_notifications_count', 'cosmosfarm_memebers_notification_0809', 10, 1);
function cosmosfarm_memebers_notification_0809($unread_noti_count){
$unread_messages_count = 0;
$user_id = get_current_user_id();
if($user_id){
$unread_messages_count = intval(get_user_meta($user_id, 'cosmosfarm_members_unread_messages_count', true));
}
if($unread_noti_count){
$total_unread_count = $unread_noti_count + $unread_messages_count ;
}
else{
$total_unread_count = $unread_noti_count;
}
return $total_unread_count;
}
고맙습니다.
안녕하세요
해당파일로 업데이트하였으나 여전히 4가 아닌 3으로 출력됩니다...
아래코드로 적용해보시겠어요? 부정확한 안내 죄송합니다.
add_filter('cosmosfarm_members_unread_notifications_count', 'cosmosfarm_memebers_notification_0809', 10, 1);
function cosmosfarm_memebers_notification_0809($unread_noti_count){
$unread_messages_count = 0;
$user_id = get_current_user_id();
if($user_id){
$unread_messages_count = intval(get_user_meta($user_id, 'cosmosfarm_members_unread_messages_count', true));
}
if($unread_messages_count){
$total_unread_count = $unread_noti_count + $unread_messages_count ;
}
else{
$total_unread_count = $unread_noti_count;
}
return $total_unread_count;
}
위 코드를 적용했는데도 안된다면 테스트 계정과 해당 페이지 링크 남겨주시면
직접 살펴보겠습니다.
고맙습니다.
안녕하세요
여전히 3으로 표시됩니다.
여기는 공개적인 댓글이라 테스트계정과 홈페이지링크를 드리기 힘들 것 같은데 어떻해야 할까요?
jonghomail@gmail.com 으로 연락주시겠어요? 또는 코스모스팜 회원관리 테스트 서버 있으시면 실험 부탁드립니다.
감사합니다...
확인 결과 입니다.
코드가 잘못된 것은 아니었습니다.
알림쪽 필터를 이용하다 보니 알림페이지에서 3개로 표시 되었을 때
메뉴 쪽에서도 3개로 표시되었습니다.
해당 부분은 아래와 같이 숏코드로 처리하였습니다.
add_shortcode('cosmosfarm_members_unread_total_count', 'cosmosfarm_members_unread_total_count');
function cosmosfarm_members_unread_total_count($args=array()){
$unread_count = 0;
$user_id = 0;
if(!$user_id){
$user_id = get_current_user_id();
}
if($user_id){
$unread_messages_count = intval(get_user_meta($user_id, 'cosmosfarm_members_unread_messages_count', true));
$unread_notifications_count = intval(get_user_meta($user_id, 'cosmosfarm_members_unread_notifications_count', true));
$unread_count = $unread_messages_count + $unread_notifications_count;
}
return '<span class="cosmosfarm-members-unread-messages-count'.($unread_count?'':' display-hide').'">' . $unread_count . '</span>';
}
숏코드는 [cosmosfarm_members_unread_total_count] 입니다.
목적과 상황을 상세히 적어주시면 보다 양질의 답변을 받으실 수 있습니다.
고맙습니다.