멀티사이트 최신글 모아보기 숏코드 관련 질문입니다.

안녕하세요^^

멀티사이트 최신글 모아보기 숏코드 관련하여 질문을 드립니다.

 

다른 질문글을 통해 A 사이트의 게시판들을 B 사이트에 보여주는 방법을 적용해서 잘 작동 됩니다. 

다만 A사이트에서 작성한 최신글 모아보기 숏코드를 B 사이트에 적용하면 "생성되지 않은 최근글 뷰 입니다." 라고 나오네요. 

아래와 같이 최근글 모아보기 id와 사이트 id 잘 썼는데 무엇이 문제일까요? 

 

[kboard_latestview id="1" blog="1" ]

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

    FTP로 접속해서 파일을 수정해주셔야 할 듯합니다.

    /wp-content/plugins/kboard/index.php 파일을 수정해주세요.

    아래 코드를 찾아주세요.

    function kboard_latestview_shortcode($args){
    	if(!isset($args['id']) || !$args['id']) return 'KBoard 알림 :: id=null, 아이디값은 필수입니다.';
    	
    	$latestview = new KBLatestview($args['id']);
    	if($latestview->uid){
    		$builder = new KBoardBuilder($latestview->getLinkedBoard(), true);
    		$builder->board = new KBoard();
    		$builder->category1 = '';
    		$builder->category2 = '';
    		$builder->setSkin($latestview->skin);
    		$builder->setRpp($latestview->rpp);
    		$builder->setSorting($latestview->sort);
    		
    		$with_notice = true;
    		if(isset($args['with_notice']) && $args['with_notice'] == 'false'){
    			$with_notice = false;
    		}
    		
    		$args['type'] = 'latestview';
    		$latest = $builder->createLatest($with_notice, $args);
    		return $latest;
    	}
    	else{
    		return 'KBoard 알림 :: id='.$args['id'].', 생성되지 않은 최신글 뷰 입니다.';
    	}
    }

    찾은 코드를 아래 코드로 교체해주세요.

    function kboard_latestview_shortcode($args){
    	if(!isset($args['id']) || !$args['id']) return 'KBoard 알림 :: id=null, 아이디값은 필수입니다.';
    	
    	if(isset($args['blog']) && $args['blog']){
    		do_action('kboard_switch_to_blog', $args);
    	}
    	
    	$latestview = new KBLatestview($args['id']);
    	if($latestview->uid){
    		$builder = new KBoardBuilder($latestview->getLinkedBoard(), true);
    		$builder->board = new KBoard();
    		$builder->category1 = '';
    		$builder->category2 = '';
    		$builder->setSkin($latestview->skin);
    		$builder->setRpp($latestview->rpp);
    		$builder->setSorting($latestview->sort);
    		
    		$with_notice = true;
    		if(isset($args['with_notice']) && $args['with_notice'] == 'false'){
    			$with_notice = false;
    		}
    		
    		$args['type'] = 'latestview';
    		$latest = $builder->createLatest($with_notice, $args);
    		
    		if(isset($args['blog']) && $args['blog']){
    			do_action('kboard_restore_current_blog', $args);
    		}
    		
    		return $latest;
    	}
    	else{
    		if(isset($args['blog']) && $args['blog']){
    			do_action('kboard_restore_current_blog', $args);
    		}
    		
    		return 'KBoard 알림 :: id='.$args['id'].', 생성되지 않은 최신글 뷰 입니다.';
    	}
    }

    해보시겠어요?

    추후 업데이트하도록 하겠습니다.

    고맙습니다.

  • 감사합니다 잘 적용되었습니다^^

  • 그런데 문제가 하나 발생했습니다

    B사이트 메인에서 A사이트 게시판들의 최신글이 표시가 되는데 최신글의 게시글을 누르면 A 사이트 게시글로 가버리네요 

    B사이트에서도 같은 게시판을 공유하고 있는데 B사이트 메인 최신글이 A사이트 게시글 모아보기이지만 B 사이트로가도록 할 수는 없을까요?? 

     

    만약 이게 어려우면 다른 방법이 있을지도 문의드립니다^^

  • 안녕하세요.

    A사이트의 최신글 모아보기를 B사이트에서 사용 시

    B사이트 게시글로 이동하는 건 저희도 연구를 해봐야 할 듯합니다.

    좋은 방법을 찾게 되면 다시 안내해드리겠습니다.

     

    최신글 모아보기가 아닌 최신글 숏코드를 활용하시면 각 게시판 별로

    A사이트의 최신글을 B사이트에서 표시하고 게시글 클릭 시

    B사이트 게시글로 이동되게 할 수는 있습니다.

    아래의 숏코드처럼 적용하실 수 있습니다.

    [kboard_latest id="1"  blog=1 url="페이지주소" rpp="5"]

    위의 코드에서 id 부분에는 실제 게시판 id를 적용해보세요.

    페이지주소 부분에는 실제 게시판이 설치된 주소로 적용해보시겠어요?

    고맙습니다.

  • 아 네 너무 감사드립니다 ^^

    메인사이트에서 잡아주는 반응형 모바일 레이아웃이 모바일로 영 별로라.. 

    모바일만 테마를 다르게 해볼까 싶었지만 이것도 한계가 있어서 

    멀티사이트를 할 수 밖에 없는 것 같아요.

    저처럼 게시판을 기반으로 하는 사이트라면 이런 기능이 꼭 필요할 것 같습니다. 

    나중에라도 업데이트 때 고려해주시면 감사하겠습니다.

     

    당장엔 알려주신대로 숏코드를 적적하게 활용해야겠네요. 감사합니다^^

  • 안녕하세요^^

    위에 알려주신 대로 아래의 숏코드로 B 사이트에서 게시판별 최신글을 보이게 했습니다.

    [kboard_latest id="1"  blog=1 url="페이지주소" rpp="5"]

     

    그런데 이 코드를 사용할 경우 사이트 페이지상에서는 출력이 잘 됩니다만..

    B사이트 알림판에서 생성한 페이지가 A사이트 페이지로 바뀌어서.. 

    미리보기도 A사이트 내에 있는 같은 포스트 번호를 가지고 있는 엉떵한 페이지가 로드되고..

    수정을 하려고 해도 A사이트 내에 있는 같은 포스트 번호의 페이지가 뜨는 이상한 오류가 생기네요;;;


    최신글 표시를 b 사이트 메인페이지에서 하고 있는데

    원래는 고유주소가 https://m.sajagong.com/ 로 나와야 하는게 정상인데

    https://sajagong.com/mobile 과 같이 서브디렉토리 형식의 주소가 할당됩니다.

    저기서 mobile은 저 페이지 생성할 때 작성한 URL Slug 입니다.. 

     

    또한 멀티사이트라서 알림판에 현재 제가 있는 알림판이 어디인지 표시가 뜨는데

    저렇게 고유주소가 꼬이고 나면 A사이트 알림판이라고 나오지만 사실은 B사이트 알림판에 있는 거거든요..

     

    메인페이지를 6번 다시 만들어서 테스트를 해본결과 최신글 숏코드를 쓰지 않으면

    이상 없이 잘 작동을 하는데 아무래도 A사이트 게시판 최신글을 불러오는 과정에서 

    테마나 워드프레스에서 자동으로 뭔가 수정해 놓는 걸까요?? 

     

    디버그 해보면 media.php 쪽에 오류가 잡히는 게 보입니다. 

    이게 관련이 있는 건지는 모르겠습니다... 그 내용은 아래와 같습니다.

    디버그 로그

     

  • 안녕하세요.

    올려주신 에러 메시지가 KBoard 플러그인과 관련이 있는지는

    올려주신 내용만으로는 원인을 파악하기 어렵습니다.

    KBoard 플러그인을 비활성화하신 후에도 확인해보시겠어요?

    사용 중이신 테마나 다른 플러그인 쪽의 문제는 아닌지도 확인해보셔야 할 듯합니다.

    잠시 다른 테마로 바꿔서 확인해보시고

    다른 플러그인을 하나씩 비활성화해가면서도 확인해보시겠어요?

     

    A사이트의 최신글을 B사이트에서 표시하고 게시글 클릭 시

    B사이트 게시글로 이동되게 하시려면

    B사이트에도 게시판을 숏코드로 설치해주셔야 할 듯합니다.

    아래의 숏코드처럼 멀티 사이트에서 게시판을 설치하실 수 있습니다.

    [kboard id=1 blog=1]

    위의 코드에서 id 부분은 실제 A사이트의 게시판 id로 적용해보세요.

    blog는 A사이트 blog id로 적용해보세요.

    그 다음, 최신글 숏코드는

    아래의 코드처럼 활용해보세요.

    [kboard_latest id="1"  blog=1 url="페이지주소" rpp="5"]

    위의 코드에서 페이지 주소 부분에는

    B사이트에 숏코드로 설치한 게시판 페이지의 주소로 적용해보세요.

    고맙습니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기