* 11 capital_P_dangit
* 11 do_shortcode
* 20 convert_smilies
*/
global $wp_embed;
add_filter( 'customify_the_content', array( $wp_embed, 'run_shortcode' ), 8 );
add_filter( 'customify_the_content', array( $wp_embed, 'autoembed' ), 8 );
add_filter( 'customify_the_content', 'wptexturize' );
add_filter( 'customify_the_content', 'wpautop' );
add_filter( 'customify_the_content', 'shortcode_unautop' );
add_filter( 'customify_the_content', 'wp_make_content_images_responsive' );
add_filter( 'customify_the_content', 'capital_P_dangit' );
add_filter( 'customify_the_content', 'do_shortcode' );
add_filter( 'customify_the_content', 'convert_smilies' );
/**
* Same hook for the_content but not auto P
* @TODO: do not effect content by plugins
*
* 8 WP_Embed:run_shortcode
* 8 WP_Embed:autoembed
* 10 wptexturize
* 10 shortcode_unautop
* 10 prepend_attachment
* 10 wp_make_content_images_responsive
* 11 capital_P_dangit
* 11 do_shortcode
* 20 convert_smilies
*/
add_filter( 'customify_the_title', array( $wp_embed, 'run_shortcode' ), 8 );
add_filter( 'customify_the_title', array( $wp_embed, 'autoembed' ), 8 );
add_filter( 'customify_the_title', 'wptexturize' );
add_filter( 'customify_the_title', 'shortcode_unautop' );
add_filter( 'customify_the_title', 'wp_make_content_images_responsive' );
add_filter( 'customify_the_title', 'capital_P_dangit' );
add_filter( 'customify_the_title', 'do_shortcode' );
add_filter( 'customify_the_title', 'convert_smilies' );
add_filter('kboard_user_display', 'kboard_user_message_link', 10, 5);
function kboard_user_message_link($display, $user_id, $username, $plugin, $builder){
if(is_user_logged_in()){
if($user_id && $user_id != get_current_user_id()){
$display = sprintf('<a href="%s" title="쪽지 보내기">%s</a>', get_cosmosfarm_members_messages_url(array('to_user_id'=>$user_id, 'redirect_to'=>urlencode($_SERVER['REQUEST_URI']))), $display);
}
}
return $display;
}
add_filter('kboard_allowed_board_id', 'my_kboard_allowed_board_id', 10, 2);
function my_kboard_allowed_board_id($allowed_board_id, $board_id){
if($allowed_board_id == '7'){ // 베스트 게시판
$allowed_board_id = array('7', '5', '6'); // 자신과 다른 게시판의 ID값을 입력
}
else if($allowed_board_id == '81'){ // 베스트 오브 베스트 게시판
$allowed_board_id = array('81', '5', '6','41','42','47','50','51','55','64'); // 자신과 다른 게시판의 ID값을 입력
}
else if($allowed_board_id == '13'){ // 장미정원
$allowed_board_id = array('13', '11', '40', '41', '42', '79', '80', '64', '63', '62', '61', '60', '59', '58', '57', '56', '55', '54', '53', '52', '51', '50', '47', '45', '44', '43');
}
return $allowed_board_id;
}
add_filter('kboard_user_display', 'kboard_user_message_link', 10, 5);
function kboard_user_message_link($display, $user_id, $username, $plugin, $builder){
$board = $builder->board;
if(is_user_logged_in() && !$board->id == '81'){ // 실제 게시판 id로 적용해주세요.
if($user_id && $user_id != get_current_user_id()){
$display = sprintf('<a href="%s" title="쪽지 보내기">%s</a>', get_cosmosfarm_members_messages_url(array('to_user_id'=>$user_id, 'redirect_to'=>urlencode($_SERVER['REQUEST_URI']))), $display);
}
}
return $display;
}
// Include the main Customify class.
require_once get_template_directory().'/inc/class-customify.php';
/**
* Main instance of Customify.
*
* Returns the main instance of Customify.
*
* @return Customify
*/
function Customify(){
return Customify::get_instance();
}
Customify();
<div id="kboard-comments-<?php echo $content_uid?>" class="kboard-comments-default">
<div class="kboard-comments-wrap">
<div class="comments-header">
<div class="comments-count">
<?php echo __('Total Reply', 'kboard-comments')?> <span class="comments-total-count"><?php echo $commentList->getCount()?></span>
</div>
<div class="comments-sort">
<form id="kboard-comments-sort-form-<?php echo $content_uid?>" method="get" action="<?php echo $url->toString()?>#kboard-comments-<?php echo $content_uid?>">
<?php echo $url->set('uid', $commentList->content_uid)->set('mod', 'document')->toInput()?>
<select name="kboard_comments_sort" onchange="jQuery('#kboard-comments-sort-form-<?php echo $content_uid?>').submit();">
<option value="best"<?php if($commentList->getSorting() == 'best'):?> selected<?php endif?>><?php echo __('Best', 'kboard-comments')?></option>
<option value="oldest"<?php if($commentList->getSorting() == 'oldest'):?> selected<?php endif?>><?php echo __('Oldest', 'kboard-comments')?></option>
<option value="newest"<?php if($commentList->getSorting() == 'newest'):?> selected<?php endif?>><?php echo __('Newest', 'kboard-comments')?></option>
</select>
</form>
</div>
<hr>
</div>
<!-- 댓글 리스트 시작 -->
<?php $commentBuilder->buildTreeList('list-template.php')?>
<!-- 댓글 리스트 끝 -->
<?php if($commentBuilder->isWriter()):?>
<!-- 댓글 입력 폼 시작 -->
<form id="kboard-comments-form-<?php echo $content_uid?>" method="post" action="<?php echo $commentURL->getInsertURL()?>" enctype="multipart/form-data" onsubmit="return kboard_comments_execute(this);">
<input type="hidden" name="content_uid" value="<?php echo $content_uid?>">
<input type="hidden" name="member_uid" value="<?php echo $member_uid?>">
<input type="hidden" name="comment_option_ip" value="<?php echo kboard_user_ip()?>">
<div class="kboard-comments-form">
<?php wp_nonce_field('kboard-comments-execute', 'kboard-comments-execute-nonce-'.$content_uid, !wp_doing_ajax())?>
<div class="comments-field">
<textarea name="comment_content" placeholder="<?php echo __('Add a comment', 'kboard-comments')?>..." onfocus="kboard_comments_field_show()" required><?php echo $temporary->content?></textarea>
</div>
<div class="comments-field-wrap">
<?php
// 댓글 입력 필드 시작
ob_start();
?>
<?php if(is_user_logged_in()):?>
<input type="hidden" name="member_display" value="<?php echo $member_display?>">
<?php else:?>
<div class="comments-field field-member-display">
<label class="comments-field-label" for="comment_member_display_<?php echo $content_uid?>"><?php echo __('Author', 'kboard-comments')?></label>
<input type="text" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="<?php echo $temporary->member_display?>" placeholder="<?php echo __('Author', 'kboard-comments')?>..." required>
</div>
<div class="comments-field field-password">
<label class="comments-field-label" for="comment_password_<?php echo $content_uid?>"><?php echo __('Password', 'kboard-comments')?></label>
<input type="password" id="comment_password_<?php echo $content_uid?>" name="password" value="" placeholder="<?php echo __('Password', 'kboard-comments')?>..." required>
</div>
<?php endif?>
<div class="comments-field field-image1">
<label class="comments-field-label" for="comment_image1_<?php echo $content_uid?>">사진</label>
<input type="file" id="comment_image1_<?php echo $content_uid?>" name="comment_attach_image1" accept="image/*">
</div>
<div class="comments-field field-file1">
<label class="comments-field-label" for="comment_file1_<?php echo $content_uid?>">첨부파일</label>
<input type="file" id="comment_file1_<?php echo $content_uid?>" name="comment_attach_file1">
</div>
<?php if($board->useCAPTCHA()):?>
<?php if(kboard_use_recaptcha()):?>
<div class="comments-field">
<div class="g-recaptcha" data-sitekey="<?php echo kboard_recaptcha_site_key()?>"></div>
</div>
<?php else:?>
<div class="comments-field">
<label class="comments-field-label" for="comment_captcha"><img src="<?php echo kboard_captcha()?>" alt=""></label>
<input type="text" id="comment_captcha" name="captcha" value="" placeholder="CAPTCHA..." required>
</div>
<?php endif?>
<?php endif?>
<?php
// 댓글 입력 필드 출력
$field_html = ob_get_clean();
do_action('kboard_comments_field', $field_html, $board, $content_uid, $commentBuilder);
?>
</div>
<div class="comments-submit-button"><input type="submit" value="<?php echo __('Submit', 'kboard-comments')?>"></div>
</div>
</form>
<!-- 댓글 입력 폼 끝 -->
<?php elseif(is_user_logged_in()):?>
<div class="kboard-comments-login">
<?php echo __('You do not have permission to add comments.', 'kboard-comments')?>
</div>
<?php else:?>
<div class="kboard-comments-login">
<?php
// 로그인 메시지 출력
do_action('kboard_comments_login_content', $board, $content_uid, $commentBuilder);
?>
</div>
<?php endif?>
</div>
</div>
<?php wp_enqueue_script('kboard-comments-default-script', "{$skin_path}/script.js", array(), KBOARD_COMMNETS_VERSION, true)?>
<div class="comments-list">
<ul>
<?php while($comment = $commentList->hasNext()): $commentURL->setCommentUID($comment->uid);?>
<li itemscope itemtype="http://schema.org/Comment" class="kboard-comments-item" data-username="<?php echo $comment->user_display?>" data-created="<?php echo $comment->created?>">
<div class="comments-list-username" itemprop="author">
<?php echo apply_filters('kboard_user_display', $comment->user_display, $comment->user_uid, $comment->user_display, 'kboard-comments', $commentBuilder)?>
</div>
<div class="comments-list-create" itemprop="dateCreated"><?php echo date('Y-m-d H:i', strtotime($comment->created))?></div>
<div class="comments-list-content" itemprop="description">
<?php if($comment->isReader()):?>
<?php echo wpautop($comment->content)?>
<?php if(isset($comment->attach->image1)):?>
<p class="comments-list-image1"><img src="<?php echo esc_url(site_url($comment->attach->image1[0]))?>" alt="<?php echo esc_attr($comment->attach->image1[1])?>"></p>
<?php endif?>
<?php if(isset($comment->attach->file1)):?>
<p class="comments-list-file1"><?php echo __('Attachment', 'kboard-comments')?> : <a href="<?php echo $comment->attach->file1[2]?>" title="<?php echo __('Download', 'kboard-comments')?>"><?php echo $comment->attach->file1[1]?></a></p>
<?php endif?>
<?php else:?>
<?php if($comment->remaining_time_for_reading):?>
<div class="remaining_time_for_reading"><?php echo sprintf(__('You can read comments after %d minutes. <a href="%s">Login</a> and you can read it right away.', 'kboard-comments'), round($comment->remaining_time_for_reading/60), wp_login_url($_SERVER['REQUEST_URI']))?></div>
<?php elseif($comment->login_is_required_for_reading):?>
<div class="login_is_required_for_reading"><?php echo sprintf(__('You do not have permission to read this comment. Please <a href="%s">login</a>.', 'kboard-comments'), wp_login_url($_SERVER['REQUEST_URI']))?></div>
<?php else:?>
<div class="you_do_not_have_permission"><?php echo __('You do not have permission to read this comment.', 'kboard-comments')?></div>
<?php endif?>
<?php endif?>
<?php if($board->isAdmin()):?>
<br />
<br />
[ip: <?=$comment->option->ip?>]
[닉네임: <?=get_userdata(abs($comment->user_uid))->display_name?>]
[uid : <?=abs($comment->user_uid)?>]
<?php endif?>
</div>
<div class="comments-list-controller">
<?php if($commentBuilder->isWriter()):?>
<div class="left">
<?php if($comment->isEditor()):?>
<button type="button" class="comments-button-action comments-button-delete" onclick="kboard_comments_delete('<?php echo $commentURL->getDeleteURL()?>');" title="<?php echo __('Delete', 'kboard-comments')?>"><?php echo __('Delete', 'kboard-comments')?></button>
<button type="button" class="comments-button-action comments-button-edit" onclick="kboard_comments_open_edit('<?php echo $commentURL->getEditURL()?>');" title="<?php echo __('Edit', 'kboard-comments')?>"><?php echo __('Edit', 'kboard-comments')?></button>
<?php elseif($comment->password && !is_user_logged_in()):?>
<button type="button" class="comments-button-action comments-button-delete" onclick="kboard_comments_open_confirm('<?php echo $commentURL->getConfirmURL()?>');" title="<?php echo __('Delete', 'kboard-comments')?>"><?php echo __('Delete', 'kboard-comments')?></button>
<button type="button" class="comments-button-action comments-button-edit" onclick="kboard_comments_open_edit('<?php echo $commentURL->getEditURL()?>');" title="<?php echo __('Edit', 'kboard-comments')?>"><?php echo __('Edit', 'kboard-comments')?></button>
<?php endif?>
<button type="button" class="comments-button-action comments-button-reply kboard-reply" onclick="kboard_comments_reply(this, '#kboard-comment-reply-form-<?php echo $comment->uid?>', '#kboard-comments-form-<?php echo $content_uid?>', '<?php echo $content_uid?>');" title="<?php echo __('Reply', 'kboard-comments')?>"><?php echo __('Reply', 'kboard-comments')?></button>
</div>
<?php endif?>
<div class="right">
<button type="button" class="comments-button-action comments-button-like" onclick="kboard_comment_like(this)" data-uid="<?php echo $comment->uid?>" title="<?php echo __('Like', 'kboard-comments')?>"><?php echo __('Like', 'kboard-comments')?> <span class="kboard-comment-like-count"><?php echo intval($comment->like)?></span></button>
<button type="button" class="comments-button-action comments-button-unlike" onclick="kboard_comment_unlike(this)" data-uid="<?php echo $comment->uid?>" title="<?php echo __('Unlike', 'kboard-comments')?>"><?php echo __('Unlike', 'kboard-comments')?> <span class="kboard-comment-unlike-count"><?php echo intval($comment->unlike)?></span></button>
</div>
</div>
<hr>
<!-- 답글 리스트 시작 -->
<?php $commentBuilder->buildTreeList('list-template.php', $comment->uid, $depth+1)?>
<!-- 답글 리스트 끝 -->
<!-- 댓글 입력 폼 시작 -->
<form id="kboard-comment-reply-form-<?php echo $comment->uid?>" method="post" action="<?php echo $commentURL->getInsertURL()?>" class="comments-reply-form" enctype="multipart/form-data" onsubmit="return kboard_comments_execute(this);">
<input type="hidden" name="content_uid" value="<?php echo $comment->content_uid?>">
<input type="hidden" name="parent_uid" value="<?php echo $comment->uid?>">
<input type="hidden" name="member_uid" value="<?php echo $member_uid?>">
</form>
<!-- 댓글 입력 폼 끝 -->
</li>
<?php endwhile?>
</ul>
</div>
위에서 차례대로 theme/customify/function.php, plugins/kboard-comments/skin/edge-anonymous 의 list.php list_template.php 입니다.
최신 버전 업데이트 이후, 실수로 파일을 날리는 바람에 제가 임의로 짜집기해서 업데이트 원 파일과 다를 수 있습니다.
문제는 테마 업데이트 이후로 잘 작동하던 좋아요 기능이 다시 제대로 작동하지 않습니다. 버튼을 1번 누를경우 미 반응, 2번 눌렀을때 기다려주세요. 라는 alert 창이 뜹니다. 그 후 새로고침을 했을 때 +1 만큼 늘어나 있습니다.
어떻게 해결할 수 있을까요?
안녕하세요.
이전 댓글에 안내해드린 링크를 참고하셔서
충돌이나 에러 메시지가 있는지 확인해보셔야 할 듯합니다.
테마 관련해서는 저희 쪽에서 도움을 드리는 데 한계가 있습니다.
테마 제작자에게도 문의해보시는 게 좋을 듯합니다.
비회원으로도 확인 가능한 페이지 주소 알려주시면 살펴보겠습니다.
고맙습니다.
게시글에서 좋아요기능이 작동하지 않는건데 저희가 건드린 파일은 저쪽이 거의 다라 3개의 파일만 첨부했습니다.
다른 파일 체크해봐야 할곳이 있을까요? 테마 업데이트 한 이후에는 잘 됐어서 게시판이나 댓글 플러그인 처럼 테마도 업데이트 압축파일을 다시 받아 볼 순 없나요?
안녕하세요~^^
KBoard 플러그인 댓글 쪽에서만 해당 문제가 발생하는지요?
저희 쪽 테스트 서버에서는 해당 코드를 적용한 후
게시글, 댓글 좋아요 테스트를 해보니 정상 동작하는 것을 확인했습니다.
워드프레스에서 에러 혹은 알 수 없는 문제가 있을 때 대응 방법을 참고하셔서
에러 메시지나 충돌이 있는지 점검해보셔야 할 듯합니다.
고맙습니다.