안녕하세요?
카드갤러리 스킨을 사용하고있습니다.
default 스킨은 정상적으로 작동하지만
카드갤러리 스킨 리스트 페이지에서는 새글쓰기를 누르면 특정 uid 게시물 수정으로 넘어가네요~
<?php if($board->isWriter()):?>
<!-- 버튼 시작 -->
<div class="kboard-control">
<a href="<?php echo $url->getContentEditor()?>" class="kboard-card-gallery-button-small"><?php echo __('New', 'kboard')?></a>
</div>
<!-- 버튼 끝 -->
<?php endif?>
리스트내 새글쓰기 소스자체는 default랑 차이가 없네요
안녕하세요.
저희 고객지원 쪽 이메일로 보내주신 정보로 확인해보니
카드 갤러리 스킨 파일을 직접 수정하신 듯합니다.
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에
아래의 코드를 확인하실 수 있습니다. (두 군데)
<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>
해당 코드는 최신글(latest.php) 쪽에서 사용되는 코드입니다.
일반 게시글 목록 페이지에서 사용할 경우 문제가 생길 수 있습니다.
기존 코드를
아래의 코드로 모두 교체해서 확인해보시겠어요?
<?php echo $url->getDocumentURLWithUID($content->uid)?>
최신 버전의 KBoard 플러그인을 사용 중이시라면
default 스킨 쪽 list.php 파일과 latest.php 파일을 보시면
위의 코드로 일반 게시글 목록과 최신글을 표시하도록 개선되어 있습니다.
추후 다른 스킨들도 업데이트하도록 하겠습니다.
고맙습니다.
안녕하세요~^^
스킨 파일 쪽 코드는 문제없는 듯합니다.
올려주신 페이지에서 테스트 계정으로 확인해보니
글쓰기 링크에 게시글 uid가 추가되어 있습니다.
혹시, 테마 쪽 functions.php 파일에
kboard_url_content_editor 필터 관련 코드를 추가한 게 있으신지요?
테마 쪽 functions.php 파일에 KBoard 글쓰기 관련 코드를 추가하셨다면
에디터의 코드 스니펫 삽입 기능으로 올려주시겠어요?
고맙습니다.
안녕하세요?
/* 커뮤니티 케이보드 */
add_action('init', 'kboard_best_move_update');
function kboard_best_move_update(){
global $wpdb;
// 조건에 맞는 게시글이 이동될 특정게시판의 ID값을 입력해주세요.
$best_board_id = '4';
$results = $wpdb->get_results("SELECT * FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`!='$best_board_id' AND `unlike` > 4");
foreach($results as $row){
$content = new KBContent();
$content->initWithUID($row->uid);
$content->board_id = $best_board_id;
$content->updateContent();
}
}
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 == '4'){
$allowed_board_id = array('1','2','3','5','6','7','8','9','10','11','12','14','15', '16');
}
return $allowed_board_id;
}
add_filter('kboard_list_where', 'month_best_kboard_list_where', 10, 3);
function month_best_kboard_list_where($where, $board_id, $content_list){
$vote = '1';
if($board_id == '13'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$date = date('Ym01000000', current_time('timestamp')); // 이번달 시작 날짜 기준
$where = "`like`>='{$vote}' AND `date`>='{$date}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
}
return $where;
}
add_filter('kboard_list_orderby', 'month_best_kboard_list_orderby', 10, 3);
function month_best_kboard_list_orderby($orderby, $board_id, $content_list){
if($board_id == '4'){ // 실제 적용될 게시판의 ID값으로 변경해주세요.
$orderby = "(`view`+`vote`) DESC, `date` DESC"; // 조회수와 추천수를 더한 값을 기준으로 정렬
}
return $orderby;
}
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_user_display', 'my_kboard_user_display', 10, 5);
function my_kboard_user_display($user_display, $user_id, $user_name, $plugin, $builder){
if($user_id){
$user_info = get_userdata($user_id);
if($user_info->roles[0] == 'administrator'){
$user_display = '<i class="user-role-'.$user_info->roles[0].'"><img class="img_grade" src="/wp-content/uploads/2019/04/level.png"></i>' . $user_display;
}
}
return $user_display;
}
function.php 내 Kboard 전체 코드 첨부합니다.
kboard_url_content_editor 필터는 따로 건든게 없는데
여기서 문제가 있을만한 부분이 있을까요?
감사합니다.
올려주신 코드에는 글쓰기 관련 코드가 없습니다.
혹시, 사용 중이신 테마나 다른 플러그인 쪽의 문제는 아닌지 확인해보시겠어요?
잠시 다른 테마로 바꿔서 확인해보시고
다른 플러그인을 하나씩 비활성화해가면서 충돌이 있는지 점검해보셔야 할 듯합니다.
그래도 해결되지 않으신다면,
저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.
고맙습니다.