최신 글 모아보기 클릭 시 이상한곳으로 이동하네요.

안녕하세요,

현재 home이라고 하는 워드프레스 페이지에서 최신글 모아보기 shortcode를 입력하여 글을 클릭하면 해당 게시물로 이동하는것을 작업중에 있는데요,
클릭하면 빈 페이지로 이동하는 문제가 있어 질문을 드립니다.

최신 글 모아보기에 적용된 스킨의 latest.php에 a태그 안에 있는 php코드는 이렇습니다.

<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>

커뮤니티 내 여러 질의응답을 참고하여 다음과 같은 코드로 변경 입력했으나 여전히 똑같이 빈 페이지로 나옵니다.

<?php echo $url->getDocumentURLWithUID($content->uid)?>

<?php echo $url->set('mod', 'list')->toString()?>

현재 해당 게시물의 게시판은, 워드프레스 '글'에 게시판 숏코드를 통해 listing되어 보여지고 있는 구조입니다.

무엇이 문제일까요?

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    getDocumentURLWithUID 함수는

    KBoard에서 제작한 함수입니다.

     

    함수의 규칙과 맞지 않으면

    동작하지 않습니다.

     

    전체 검색에서 getDocumentURLWithUID 을 키워드로 검색 후

    규칙에 맞게 입력하였는지 확인해보시겠어요?

    고맙습니다.

  • 안녕하세요.

    이 내용은 다른 글들도 계속 참고를 하고있습니다만, 여전히 문제가 동일합니다.

    latest.php에 있는 내용을 공유드립니다.

    <?php while($content = $list->hasNext()):?>
    <li>
    	<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>" target="_blank">
    		<?php if($content->getThumbnail(500, 500)):?>
    			<div style="background-image: url('<?php echo $content->getThumbnail(500, 500)?>');" alt="<?php echo esc_attr($content->title)?>"></div>
    		<?php endif?>
    	</a>
    </li>
    <?php endwhile?>

    500px짜리의 썸네일을 클릭하면 해당 kboard 게시물로 이동하는 구조입니다.
    default 기본 skin의 latest.php 내용을 참고해도 디자인 영역의 구조만 다를 뿐, 큰 차이는 없는것으로 보고있습니다 ...

    무엇이 문제일까요?

  • 남겨주신 코드를 latest.php 파일에 입력하여

    최신글 모아보기를 입력하였으나

    정상동작하는 것을 확인하였습니다.

     

    실제로 코드를 보기에도

    남겨주신 코드에 문제가 있어보이지는 않습니다.

     

    링크 이외에는 모든게 정상적으로

    표시되고 있는건가요?

     

    KBoard가 최신버전이 아니라면

    최신버전으로 업데이트 해주시고

    확인가능한 링크를 남겨주시면

    도움이 될 듯 합니다.

    고맙습니다.

  • 먼저, 클라이언트의 요구로 인해 사이트 링크는 공유할 수 없습니다.

    현재 게시판이 적용된 페이지와 home의 상황을 좀 더 설명드려야 할 것 같습니다.

     

    1. latest.php가 보이는 곳

    latest.php가 보여지는 페이지는 page-home.php 내부에 있습니다

    (page-home.php 안에 [kboard_latestview id="2"] 숏코드가 들어가있는 상태입니다).

     

    2. kboard 게시판이 삽입된 곳

    latest를 통해 보여지는 게시물들의 본래 게시판은 워드프레스 '글'(워드프레스 '페이지'가 아닌 '글')에 있습니다.

    사이트 url 뒤로 150/2019/ 등으로 주소가 되어있습니다(http://www.naver.com/150/2019/ 이런식).

     

    제가 latest.php의 링크 구조나 이런것들을 보고 느낀 바는

    현재 latest.php에서 보여지는 목록의 링크가 전부 사이트 url 뒤로 ?kboard_content_redirect=41 이런식으로 되어있는데

    여기에는 워드프레스 글에 해당되는 링크 주소는 보이지 않습니다. 그래서 이 사이에 워드프레스 글 주소에 대한 내용이

    포함되어야 하는게 아닌가 생각하고 이런저런 시도를 진행중에 있습니다.

    (permalink가 추가되어야 하는건가 하는생각입니다)

  • 확인 해볼 수 없는 상황에서는

    정확한 진단은 어렵습니다.

     

    링크에 있는 kboard_content_redirect는

    KBoard에서 제공하는 게시글 라우터 기능입니다.

     

    kboard/class/KBRouter.class.php 파일에서

    확인해보실 수 있으며

    contentRedirect 함수 또는 getContentURL 함수 내에서

    게시글의 url을 정상적으로 받아오고 있는지

    출력해서 확인해보시겠어요?

     

    공개하기 어려우시다면

    유료 기술지원을 요청하시거나

    프로젝트 의뢰에 자세한 내용을 내용을 남겨보시겠어요?

    고맙습니다.

  • 한번 찾아보니 kboard에도 이전에 비슷한 질문이 올라온것을 발견했는데요,

    이때 말씀주셨던 내용은 다음과 같습니다.

    https://www.cosmosfarm.com/threads/document/39378

    functions.php에 하단의 내용을 추가하라고 하셨는데 ...

    add_filter('kboard_router_content_url', 'my_kboard_router_content_url_20191210', 10, 4);
    function my_kboard_router_content_url_20191210($content_url, $page_id, $board_id, $content_uid){
    	if($board_id){
    		$content_url = add_query_arg(array(
    			'uid' => $content_uid,
    			'mod' => 'document',
    		), '실제 페이지 주소'); // 페이지 주소를 바꿔주세요.
    	}
    	return $content_url;
    }

    다만 이분과 저의 차이점이라고 한다면, 저는 특정한 하나의 글에서만 작동되어야만 하는것이 아니라

    글이 계속 추가될 수 있고, 글이 추가 될 때마다 게시판이 계속 새로 생길 예정이라 그때마다 이 코드를 추가해야하는 방법은

    좋지 않은 것 같고 다른 방법을 써야할 것 같습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요