크로스 캘린더 글 레이아웃 변경 및 영문화

안녕하세요. 연구실 홈페이지 만들고 있는 중입니다. 연구실 일정을 크로스 캘린더로 관리하면 좋을 것 같아서 스킨을 구매하였습니다.

3가지를 커스터마이징하고 싶은데요.

 

1. 연구실 홈페이지가 영문이다 보니깐 영문화를 하고 싶습니다.

예를 들어 글이 등록되지 않았을 때 나오는 "등록된 일정이 없습니다." / 게시글에 들어갔을 때 나오는 "기간", "시간" 등 모두 영문으로 바꾸고 싶습니다. 어떻게 하면 좋을까요?

2. 게시글의 레이아웃을 변경하고 싶습니다. 예를 들면 https://math.postech.ac.kr/seminar/?mod=list 에 일정을 클릭해보면 표의 형태로 깔끔하게 나오는 것처럼 바꾸고 싶습니다.

3. 그리고 달력 / 리스트 버튼을 없애고 리스트를 기본값으로 보여주고 싶은데 어떻게 하면 될까요?

 

난이도가 꽤 있는 작업 같은데, 친절한 설명에 미리 감사드립니다.

감사합니다~!

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    2번과 3번 내용은 현재 적용이 되어 있는 듯합니다.

    KBoard 플러그인은 워드프레스 사이트 언어 설정에 따라

    한글, 영어, 일본어로 표시됩니다.

     

    워드프레스 사이트 언어는

    워드프레스 관리자 -> 설정 -> 일반 페이지에서 설정하실 수 있습니다.

     

    만약, 사이트 언어 설정을 한국어로 설정하고

    플러그인 언어만 영어로 변경하시려면

    아래의 코드를 활용해보시겠어요?

    add_filter('plugin_locale', 'plugin_locale_20210219', 10, 2);
    function plugin_locale_20210219($locale, $domain){
    	if(in_array($domain, array('kboard', 'kboard-comments'))){
    		$locale = 'en_US';
    	}
    	
    	return $locale;
    }

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    다른 방법으로는 gettext 필터를 활용하는 방법이 있습니다.

    gettext 필터로 문구를 변경하는 건 저희 커뮤니티에 검색해보시면

    관련 자료를 확인해보실 수 있습니다.

    https://www.cosmosfarm.com/search?q=gettext

    고맙습니다.

  • @스레드봇 님 친절한 답변 감사합니다. 시도해보도록 하겠습니다.

    다만 2번 링크 "https://math.postech.ac.kr/seminar/?mod=list" 는 저희 사이트가 아니라 참고하고자 하는 사이트입니다 ㅠㅠ

    위 사이트에 있는 크로스캘린더 글처럼 게시글의 레이아웃을 바꾸고 싶으면 어떻게 하면 되나요?단순히 텍스트 나열이 아니라 표 형식으로 보여주고 싶습니다. 

     

    그리고 혹시 특정 페이지에는 달력 형태로, 다른 특정 페이지에는 리스트 형태로 고정되게 보여줄 수 있는 방법도 있을까요??

    메인 화면에는 달력 형태로 모든 일정을 추가하고, 다른 메뉴에 접속해서는 메뉴 관련된 일정만 리스트로 보여주고 싶습니다 ,,, 욕심이 자꾸 많아지네욤 ... 

     

    html 이랑 css는 조금 아는데 js는 잘 몰라서 어디를 만져야할지 잘 모르겠습니다. 어떤 파일을 편집해야 하는지 말씀해주신다면 공부해서라도 해보겠습니다.

  • KBoard 플러그인에서 게시글 본문 페이지는

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/document.php 파일에서 표시하고 있습니다.

    본문 페이지에서 테이블 형태로 보이게 하시려면

    document.php 파일에 테이블 태그를 활용해서 커스텀해보시겠어요?

     

    크로스 캘린더 스킨에서 리스트 형태로 고정되게 하는 건

    이전에도 비슷한 문의가 있었습니다.

    아래 관련 링크를 참고 부탁드립니다.

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

    고맙습니다.

  • 그대로 복사 붙여넣기하니 이제 "게시글이 이동되었습니다" 오류는 나타나지 않습니다.

    다만 들어갔을 때 아무 내용도 등장하지 않아서 default 스킨의 document.php 좀 손 보려고하는데

    크로스캘린더에서 했던 것 그대로 하면 되겠죠?

  • 답변감사합니다. 저는 https://www.cosmosfarm.com/threads/document/37045 이 글의 

    add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
    function my_kboard_list_where($where, $board_id, $content_list){
    	if($board_id == '2'){ // 실제 게시판 id로 적용해주세요.
    		$cross_calendar_board_id = '1'; // 크로스 캘린더 스킨의 게시판 id로 적용해주세요.
    		$where = "`board_id`='{$cross_calendar_board_id}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	return $where;
    }

    코드를 사용했습니다.

    답변 중에 

    $allowed_board_id = array('1', '2')부분은 자신과 다른 게시판의 ID값을 입력해보세요.

    가 잘 이해되지 않습니다.

    저는 크로스캘린더 id=1 / default 게시판 id=2 인데 그대로 복/붙해서 진행해도 괜찮을까요?

     

    감사합니다.

  • 크로스 캘린더 스킨에 등록한 일정을 디폴트 스킨에 표시는 어떤 식으로 하셨는지요?

    만약, 별도의 필터를 활용하셨다면

    아래의 코드도 추가해보시겠어요?

    add_filter('kboard_allowed_board_id', 'kboard_allowed_board_id_20210305', 10, 2);
    function kboard_allowed_board_id_20210305($allowed_board_id, $board_id){
    	if($allowed_board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$allowed_board_id = array('1', '2'); // 자신과 다른 게시판의 ID값을 입력
    	}
    	else if($allowed_board_id == '2'){ // 실제 게시판 id로 적용해주세요.
    		$allowed_board_id = array('1', '2'); // 자신과 다른 게시판의 ID값을 입력
    	}
    	
    	return $allowed_board_id;
    }

    위의 코드에서 $allowed_board_id == '1' 부분과 $allowed_board_id == '2' 부분은

    크로스 캘린더 스킨 게시판 번호와 디폴트 스킨 게시판 번호로 각각 적용해주세요.

     

    $allowed_board_id = array('1', '2')부분은 자신과 다른 게시판의 ID값을 입력해보세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 안녕하세요. 질문 하나 드립니다. 현재 크로스캘린더에 작성한 일정들을 default 스킨 게시판에도 표시하는 기능을 추가한 상태입니다.

    http://minds.postech.ac.kr/seminar/list/

    여기서 보시면 아시겠지만, 글을 클릭하면 게시글이 이동되었다고 나오게 됩니다.

    제가 생각하기에는 "워드프레스->KBoard->전체 글 보기" 에서 글을 클릭할 때 나오는 링크가 아닌 캘린더가 삽입된 링크로 연결돼서 발생하는 문제 같은데 혹시 어떻게 해결할 수 있을까요?

     

    답변에 미리 감사드립니다.

  • 게시판 설정에 "최신글 이동 페이지"를 잘 설정하여서 원하는 목적을 달성했습니다.

     

    감사합니다! ㅎㅎ

     

  • 안녕하세요.

    게시판 설치 관련해서는 비회원으로도 확인 가능한 페이지 주소 알려주시면 살펴보겠습니다.

    게시글 주소를 확인하시려면

    해당 게시글 본문 페이지로 이동한 후 브라우저의 주소를 확인해보시겠어요?

    고맙습니다.

  • 선생님 여기에 답글 달아도 답변해주실지 모르겠지만 질문 드려봅니다.

    선생님 덕분에 보여지는 게시글 레이아웃을 성공적으로 바꿨습니다. 너무 예뻐서 뿌듯합니다.

    한 가지 더 욕심 나는 것이 있습니다. 일정을 클릭하였을 때 게시글이 게시판이 임베딩되어 있는 페이지와 함께 나타난다는 것을 해결하고 싶습니다.

    과거글 찾아보니깐 아이프레임 활성화되어 있어서 그렇다는 것을 봤는데 아이프레임을 비활성화해도 게시글은 여전히 게시판이 있는 페이지에 임베딩되어 나타납니다. 

     

    다시 정리해보자면, 일정을 클릭하여 들어갔을 때, 게시판이 삽입된 페이지 내용들이 함께 나타나는 것이 아닌, 독자적인 페이지에 나타났으면 좋겠습니다.

    워드프레스-KBoard-게시글 목록에서 각 게시글에 접근하여도 마찬가지로 게시판이 삽입된 페이지의 내용들이 함께 보이게 됩니다.

    게시판은 숏코드를 이용해 엘리멘터 페이지에 넣은 상태입니다.

     

    또 캘린더가 삽입된 페이지 외에서 게시글들을 링크하고 싶은데 게시글의 주소는 어디서 알 수 있나요?

     

    (사실 베스트는 일정을 클릭하였을 때 레이어팝업으로 나타나는 것인데, 레이어팝업은 아직 제공하지 않으시는 것 같더라구요.)

     

    답변에 미리 감사드립니다.

  • 크로스 캘린더 스킨은 어떤 식으로 수정했는지는 모르겠지만

    게시판 스킨 수정 방법은 대체로 동일합니다.

    스킨 수정하시면서 문제 생기면 질문 남겨주시면 도움 드릴 방법을 찾아보겠습니다.

    고맙습니다.

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