안녕하세요.
덧글 ip를 표시하기 위해 스레드 답변을 참고하여 다음과 같이 수정했는데 덧글이 아예 나오질 않습니다.
어디를 수정해야 하는지요?
KBCommentList.class.php 파일의 add() 메소드 부분
public function add($parent_uid, $user_uid, $user_display, $content, $password=''){
global $wpdb;
$content_uid = $this->content_uid;
$parent_uid = intval($parent_uid);
$user_uid = intval($user_uid);
$user_display = addslashes(kboard_xssfilter(kboard_htmlclear(trim($user_display))));
$content = addslashes(trim($content));
$password = addslashes(kboard_xssfilter(kboard_htmlclear(trim($password))));
$created = current_time('YmdHis');
$ip = $_SERVER['REMOTE_ADDR'];
$wpdb->query("INSERT INTO `{$wpdb->prefix}kboard_comments` (`content_uid`, `parent_uid`, `user_uid`, `user_display`, `content`, `created`, `password`, 'ip') VALUE ('$content_uid', '$parent_uid', '$user_uid', '$user_display', '$content', '$created', '$password', 'ip')");
index.php
function kboard_comments_activation_execute(){
global $wpdb;
$wpdb->query("CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}kboard_comments` (
`uid` bigint(20) unsigned NOT NULL auto_increment,
`content_uid` bigint(20) unsigned NOT NULL,
`parent_uid` bigint(20) unsigned default NULL,
`user_uid` bigint(20) unsigned default NULL,
`user_display` varchar(127) default NULL,
`content` longtext NOT NULL,
`created` char(14) NOT NULL,
`password` varchar(127) default NULL,
`ip` varchar(127) default NULL,
list.php
<!-- 댓글 입력 폼 시작 -->
<form id="kboard_comments_form" method="post" action="<?php echo $commentURL->getInsertURL()?>" onsubmit="return kboard_comments_execute(this);">
<input type="hidden" name="content_uid" value="<?php echo $commentList->content_uid?>">
<input type="hidden" name="member_uid" value="<?php echo $member_uid?>">
<div class="kboard-comments-form">
<div class="comments-ip">
<input type="hidden" id="comments_ip" name="ip" value="<?php echo $commentList->ip?>">
</div>
<?php if(is_user_logged_in()):?>
<input type="hidden" name="member_display" value="<?php echo $userdata->display_name?>">
list-template.php
<div class="comments-list-username" itemprop="author"><?php echo $comment->user_display?></div>
<div class="comments-list-create" itemprop="dateCreated"><?php echo date("Y-m-d H:i", strtotime($comment->created))?></div>
<div class="comments-list-ip" itemprop="ip"><?php echo $comment->ip?></div>
감사합니다.
꾸벅
원인을 찾아야 할텐데
DB입력은 확인해보셨나요?
kboard_comments 테이블에 아이피가 입력이 되는지 확인부터 해보시겠어요?
<?php print_r($comment)?> 이건 그냥 확인용입니다.
확인이 끝났다면 지워주세요 ㅎㅎ
제안해 주신 대로 KBCommentList.class.php 파일의 add() 메소드 부분을 수정하고 index.php 파일은 그대로 두고 list.php 파일은 원래대로 바꾸고 list-template.php 파일은 <div class="comments-list-ip"><?php print_r($comment)?><?php echo $comment->ip?></div>로 수정했더니 덧글이 작동을 하지 않네요 ㅠㅠㅠ
오타가 난듯합니다.
$ip = $_SERVER['REMOTE_ADDR'];
$wpdb->query("INSERT INTO `{$wpdb->prefix}kboard_comments` (`content_uid`, `parent_uid`, `user_uid`, `user_display`, `content`, `created`, `password`, 'ip') VALUE ('$content_uid', '$parent_uid', '$user_uid', '$user_display', '$content', '$created', '$password', 'ip')");
위쪽 ip가 아니라 아래처럼 $ip여야 합니다.
$ip = $_SERVER['REMOTE_ADDR'];
$wpdb->query("INSERT INTO `{$wpdb->prefix}kboard_comments` (`content_uid`, `parent_uid`, `user_uid`, `user_display`, `content`, `created`, `password`, 'ip') VALUE ('$content_uid', '$parent_uid', '$user_uid', '$user_display', '$content', '$created', '$password', '$ip')");
그리고 출력이 안되는것인지 DB에 값이 저장되는 않는것인지 확인 해보세요.
list.php 파일은 수정하실건 없습니다. (ip는 직접 입력하는 값이 아니기 때문에)
list-template.php 파일에서 정상적으로 출력되는지 <?php print_r($comment)?> 이 코드를 내용 앞에 추가해서 테스트 해주세요.
list-template.php 파일에서 itemprop="ip" 속성은 필요 없습니다^^