<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[좋아요 누를 시 포인트 지급 관련 코드 이상현상(?)]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/63163</link>
		<description><![CDATA[<p><strong>1. 정확한 제품 또는 플러그인 이름</strong></p>

<p>케이보드</p>

<p> </p>

<p><strong>2. 상세 내용</strong></p>

<p>안녕하세요. A(게시글에 좋아요 누를 시 작동하는 코드)와 B(댓글에 좋아요 누를 시 작동하는 코드) 두 개의 코드를 작성했습니다.</p>

<p>그런데 A는 잘 작동이 되고 B는 작동이 되질 않는데 그 이유가 뭘까요? B코드를 맨 아래처럼 수정했더니 잘 됩니다. 수정하기 전에는 좋아요 누른 사람과 댓글 작성자가 동일해도 포인트 지급이 됐습니다.</p>

<p> </p>

<p>A코드(게시글에 좋아요 누를 시 작동)</p>

<pre>
<code class="language-php">//게시글에 좋아요 포인트 지급
add_action('kboard_content_like', 'my_kboard_content_like', 10, 2);
function my_kboard_content_like($content, $board){
  $like_user = get_current_user_id();
  $content_user = $content-&gt;member_uid;
  if($like_user) {
    if($like_user !== $content_user){
      mycred_add('my_kboard_content_like', $like_user, 20, '게시글 좋아요 누름 포인트', $content-&gt;uid);
    }
  }
	if($like_user !== $content_user) {
		mycred_add('my_kboard_content_like', $content_user, 100, '게시글 좋아요 받음 포인트', $content-&gt;uid);
	}
}</code></pre>

<p> </p>

<p>수정 전 B코드(댓글에 좋아요 누를 시 작동)</p>

<pre>
<code class="language-php">//댓글에 좋아요 포인트 지급
add_action('kboard_comment_like', 'my_kboard_comment_like', 10, 2);
function my_kboard_comment_like($comment, $board){
  $comment_like_user = get_current_user_id();
  $comment_user = $comment-&gt;user_uid;
  if($comment_like_user) {
    if($comment_like_user !== $comment_user){
      mycred_add('kboard_comment_like', $comment_like_user, 10, '댓글 좋아요 누름 포인트', $comment-&gt;uid);
    }
  }
	if($comment_like_user !== $comment_user) {
		mycred_add('kboard_comment_like', $comment_user, 50, '댓글 좋아요 받음 포인트', $comment-&gt;uid);
	}
}</code></pre>

<p> </p>

<p>수정 후 B코드</p>

<pre>
<code class="language-php">//댓글에 좋아요 포인트 지급
add_action('kboard_comment_like', 'my_kboard_comment_like', 10, 2);
function my_kboard_comment_like($comment, $board){
  $comment_like_user = get_current_user_id();
  $comment_user = $comment-&gt;user_uid;
  if($comment_like_user) {
    if($comment_like_user == $comment_user){
      return false;
    } else {
      mycred_add('kboard_comment_like', $comment_like_user, 10, '댓글 좋아요 누름 포인트', $comment-&gt;uid);
    }
  }
	if($comment_like_user == $comment_user) {
		return false;
	} else {
    mycred_add('kboard_comment_like', $comment_user, 50, '댓글 좋아요 받음 포인트', $comment-&gt;uid);
  }
}</code></pre>

<p> </p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[get_current_user_id()로 호출되는 값과 $comment-&amp;gt;user_uid로 호출된 값의 타입이 각각 정수형 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/63202</link>
			<description><![CDATA[<p>get_current_user_id()로 호출되는 값과 $comment-&gt;user_uid로 호출된 값의 타입이 각각 정수형 문자형 등으로 달라서 그럴 수 있다는 말씀이신가요?</p>

<p>그렇다고 보기엔 $content-&gt;member_uid로 호출된 값과 $comment-&gt;user_uid로 호출된 값의 타입을 데이터베이스에서 확인해보니 둘 다 정수형(bigint)이라서 아닌 것 같습니다.</p>

<p>$like_user !== $content_user 경우엔 또 잘 작동이 됐으니까요. 미스테리네요...</p>]]></description>
			<author>메타마인드</author>
			<pubDate>Mon, 13 Feb 2023 05:30:00 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

코드상으로만 봤을때는 추측해보건데

!== 를 사용하셔서 그런 듯 합니다.

 

관계연산...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/63199</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>코드상으로만 봤을때는 추측해보건데</p>

<p>!== 를 사용하셔서 그런 듯 합니다.</p>

<p> </p>

<p>관계연산자가 3개 있는 경우는</p>

<p>타입까지 확인하여 '엄격한 확인'을 진행합니다.</p>

<p> </p>

<p>아마 변수에 대입한 값이 각각 정수형과 문자형이라면</p>

<p>처음 수정하신 코드는 의도대로 동작하지 않을 수 있습니다.</p>

<p> </p>

<p>!== 대신 != 를 사용하여 작성해보시겠어요?</p>

<p> </p>

<p>코드만 보고 추측한 것이라</p>

<p>정확하지는 않을 수 있습니다.</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 13 Feb 2023 04:15:01 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>