안녕하세요, 아무리 검색해도 안나와서 너무 평범한 질문을 드리는 것 같아 죄송합니다.
공지사항이라는 게시판목록 중 가장 최근에 쓴 글 한개의 내용을 첫화면에 나타나게 하고 싶습니다.
이 방법을 몰라서, 현재는 공지사항 글을 새로 작성하고 나서, 다시 첫화면 페이지 (정적페이지)를 똑같은 내용으로 반복하는 무식한 작업 밖에는 모르겠습니다. ㅠㅠ
게시판의 "최신글 숏코드"를 사용하려 하였지만, 이것은 글 내용이 아니라 글 목록이 나타나는 것이라서 사용 못하고요.
참고로, 저희 파일럿 웹싸이트는 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/
고맙습니다.
디버그는 어떻게 하는지 몰라서 구글로 찾아보고 해보겠습니다. 아무튼, 정성이 담긴 답변글에 진심으로 감사드립니다.