add_shortcode('kboard_latest_content_view', 'my_kboard_latest_content_view');
function my_kboard_latest_content_view($args=array()){
global $wpdb;
$board_id = (isset($args['id'])&&$args['id']) ? $args['id'] : '';
if(isset($_SESSION['increased_document_uid'])&&$_SESSION['increased_document_uid']){
$document_uid_list = $_SESSION['increased_document_uid'];
ob_start();
foreach($document_uid_list as $document_uid){
$content = new KBContent();
$content->initWithUID($document_uid);
if($board_id == $content->board_id){
?>
<div class="kboard-title"><?php echo $content->title?></div>
<?php
}
}
}
else{
ob_start();
?>
<div>최근 본 게시글이 없습니다.</div>
<?php
}
return ob_get_clean();
}
현재 이렇게 잘 사용하고 있습니다.
그런데 게시글을 1,2,3,4 게시글을 클릭하였을때
1,2,3,4번의 게시글이 잘 노출이 되는데요
이후에 3번 게시글을 클릭하면
3,1,2,4 이렇게 변형되게 하려면 어떻게 해야하나요?
1,2,3,4중 이미 최신본글에 노출되고 있다면 나중에 3번을 클릭하여도 순서가 바뀌지 않습니다
안녕하세요~^^
해당 코드는 KBoard 플러그인 게시글 조회수 증가 쪽의 세션을 활용하고 있습니다.
최근 본 게시글이 상위에 표시되게 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
function my_kboard_skin_header($builder){
$board = $builder->board;
$content_uid = kboard_uid();
if(kboard_mod() == 'document' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$increased_document_uid = isset($_SESSION['increased_document_uid'])&&$_SESSION['increased_document_uid'] ? $_SESSION['increased_document_uid'] : array();
if(in_array($content_uid, $increased_document_uid)){
$key = array_search($content_uid, $increased_document_uid);
unset($_SESSION['increased_document_uid'][$key]);
array_unshift($_SESSION['increased_document_uid'], $content_uid);
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
고맙습니다.