게시판글에서 가장 최신글 하나의 내용을 첫화면에 넣는 방법

안녕하세요, 아무리 검색해도 안나와서 너무 평범한 질문을 드리는 것 같아 죄송합니다.

공지사항이라는 게시판목록 중 가장 최근에 쓴 글 한개의 내용을 첫화면에 나타나게 하고 싶습니다.

이 방법을 몰라서, 현재는 공지사항 글을 새로 작성하고 나서, 다시 첫화면 페이지 (정적페이지)를 똑같은 내용으로 반복하는 무식한 작업 밖에는 모르겠습니다. ㅠㅠ

게시판의 "최신글 숏코드"를 사용하려 하였지만, 이것은 글 내용이 아니라 글 목록이 나타나는 것이라서 사용 못하고요.

참고로, 저희 파일럿 웹싸이트는 http://tallykcc.mydiffvue.com 입니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    먼저 아래 코드를 테마의 functions.php 파일에 넣어주세요.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 파일을 편집할 수 있습니다.

    add_shortcode('my_kboard_first_content', 'my_kboard_first_content');
    function my_kboard_first_content($args=array()){
    	$board_id = isset($args['id']) ? $args['id'] : '';
    	
    	if($board_id){
    		$list = new KBContentList($board_id);
    		$list->getList();
    		$content = $list->hasNext();
    		
    		ob_start();
    		echo wpautop($content->content);
    		return ob_get_clean();
    	}
    	
    	return '';
    }

     

    그리고 원하시는 위치에 아래 숏코드를 추가해보시겠어요?

    [my_kboard_first_content id="1"]

    id값은 원하시는 게시판의 실제 id값으로 입력해주세요.

    고맙습니다.

  • 답변감사합니다. 말씀하신대로 한 뒤 tallykcc.mydiffvue.com 에 들어가니까 2가지 문제가 생기네요.

    1) 공지사항이라는 게시판목록 (id=5) 중 가장 최근에 쓴 글이 아니라 가장 오래된 글이 나타납니다.

    2) 또한, 최신글 내용 제일 앞에, "1월14일(일)" 이라는 없던 글짜가 나타나는데, 아무리 찾아도 어디에서 왔는지 모르겠네요. ㅠㅠ

  • 안녕하세요~^^

    1. 테마의 functions.php 파일에 아래의 코드를 적용해보시겠어요?

    add_shortcode('my_kboard_first_content', 'my_kboard_first_content');
    function my_kboard_first_content($args=array()){
    	$board_id = isset($args['id']) ? $args['id'] : '';
    	
    	if($board_id){
    		$list = new KBContentList($board_id);
    		$list->setSorting('newest');
    		$list->getList();
    		$content = $list->hasNext();
    		
    		ob_start();
    		echo wpautop($content->content);
    		return ob_get_clean();
    	}
    	
    	return '';
    }

     

    2. 게시글의 제목이 포함된 듯합니다.

    위의 코드를 그대로 적용하셨는지요?

    코드를 추가 혹은 수정하셨다면 실제 적용한 코드를 알려주시겠어요?

    고맙습니다.

  • 아, 죄송합니다. 어제 제가 올린 댓글은 완전히 틀린 댓글이었습니다.

    오늘 다시 해보았더니, 가장 최근에 올린 글이 제대로 나타납니다. 답변해 주신 덕분에 제가 뭐가 잘못되었는지 알게 되었습니다.

    그 숏코드를 입력할 때, Visual 상태에서 입력해서 HTML 코드가 들어가 있어서 뭔가가 이상하게 나타났던 거였습니다.

    답변을 안 주셨다면 결국 포기하던가 했을텐데, 그 답변주신 덕분에 이리저리 고민하다가 제가 뭔가를 잘못 했겠지 하고 찾다보니 오류를 찾은 것입니다.

    진심으로 감사드립니다.

  • 죄송합니다. 또 질문이 있습니다.

    현재 제가 쓰고있는 테마는 Catch Responsive입니다. 그 테마에서는 tallykcc.mydiffvue.com 에 들어가보시면 보실수 있듯이, Feature Contents를 3개 쓸수 있습니다.

    실제 제가 정적인 페이지를 넣었더니 3개 모두 보였습니다.

    근데 이번에 답변해 주신 것 때문에 [my_kboard_first_content id="1"] 같은 숏코드를 쓰면 될것같아서 Feature1 Feature2 Feature3 페이지를 만들어서 [my_kboard_first_content id="1"] 같은 숏코드를 넣었는데 아무것도 나타나지 않습니다.

    add_shortcode('my_kboard_first_content', 'my_kboard_first_content'); function my_kboard_first_content($args=array())...

    이 코드를 functions.php에 넣었는데, 아마 그 테마의 Feature Contents는 이 functions.php에서 읽지 않아서 그런건가요?

  • 안녕하세요.

    현재는 정적인 페이지로 적용하신 건지요?

    [my_kboard_first_content id="1"] 코드처럼

    다른 게시판의 번호로 바꿔서 다른 곳에서도 사용하실 수 있습니다.

    숏코드에 게시판 ID가 실제 게시판 ID가 아나거나

    해당 게시판에 게시글이 없을 듯합니다.

     

    숏코드에 문제가 없다면

    워드프레스 디버그 모드를 활성화해서 오류가 있는지도 확인해보셔야 할 듯합니다.

    워드프레스의 wp-config.php 파일에서

    define('WP_DEBUG', false); -> define('WP_DEBUG', true);

    위의 코드처럼 수정하시면 디버그 모드가 활성화됩니다.

    또는 워드프레스 디버그 모드 대신 아래 플러그인으로 오류 내용을 확인할 수 있습니다.

    https://ko.wordpress.org/plugins/error-log-monitor/

    고맙습니다.

  • 디버그는 어떻게 하는지 몰라서 구글로 찾아보고 해보겠습니다. 아무튼, 정성이 담긴 답변글에 진심으로 감사드립니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기