여러 게시판 모두 첨부 이미지를 본문에 보이게 하려면...

안녕하세요 

제가 아래와 같이 게시판( id= 5 )의 첨부이미지가 본문에 보여지게 사용중인데 엄청 편리하더라구요... >>> 너무 감사드려요~~~!!

/* 케이보드 첨부 이미지 본문에 보여주기 */
add_filter('kboard_content', 'my_kboard_content', 10, 3);
function my_kboard_content($content, $content_uid, $board_id){
	if($board_id == '5'){ // 실제 게시판 id로 적용해주세요.
		$document = new KBContent();
		$document->initWithUID($content_uid);
		
		ob_start();
		?>
		<?php foreach($document->getAttachmentList() as $key=>$attach): $extension = strtolower(pathinfo($attach[0], PATHINFO_EXTENSION));?>
			<?php if(in_array($extension, array('gif','jpg','jpeg','png'))):?>
				<p class="thumbnail-area"><img src="<?php echo site_url($attach[0])?>" alt="<?php echo $attach[1]?>"></p>
			<?php else: $download[$key] = $attach; endif?>
		<?php endforeach?>
		<?php
		$content .= ob_get_clean();
	}
	return $content;
}

 

 

그래서 위의 5번 게시판을 포함한 다른 게시판들(1, 4, 6)도 모두 첨부이미지가 본문에 보이게 하기 위해   

아래와 같이 $board->id == '5' 부분을 in_array($board->id, array('1', '4', '5', '6'))로 적용했더니...

/* 케이보드 첨부 이미지 본문에 보여주기 */
add_filter('kboard_content', 'my_kboard_content', 10, 3);
function my_kboard_content($content, $content_uid, $board_id){
	if( in_array($board->id, array('1', '4', '5', '6'))){ // 실제 게시판 id로 적용해주세요.
		$document = new KBContent();
		$document->initWithUID($content_uid);

 

""치명적인 오류를 확인하기 위한 사이트와 통신이 불가능하여 PHP 변경 사항이 복구되었습니다. PHP 파일 변경사항을 SFTP와 같은 다른 수단을 통해 업로드 해야 합니다."" 라는 메시지가 뜨네요ㅠㅠ 

뭐가 잘못된건지요???  도움 말씀 부탁드립니다. 

 

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

    코드 상에는 별 문제 없어 보입니다.

    워드프레스 관리자 페이지에서 테마 쪽 functions.php 파일을 수정할 수 없다면

    모든 플러그인을 비활성화한 후에 다시 테스트해보시겠어요?

    그래도 문제가 된다면 서버 관리자 또는 웹호스팅 업체에도 문의를 해보셔야 할 듯합니다.

     

    직접 테마의 functions.php 파일에 코드를 추가하시려면

    FTP로 접속해서 /wp-content/themes/사용중인테마/functions.php 파일에 추가해보시겠어요?

    고맙습니다.

  • 이상하게 in_array($board->id, array('1', '4', '5', '6')) 요것만 수정해 넣으면...

    그동안 본문에 이미지를 잘 보여주던 ID 5번 게시판을 포함해 모두 안되고 마네요...  

    FTP 접속하여 /wp-content/themes/사용중인 차일드 테마/functions.php 를 직접 수정해서 업로드해도 안되고... 

    혹시 몰라서 우커머스, WPML, 케이보드를 제외한 모든 플러그인을 비활성화한 후에도 안되네요...

    그냥 예전처럼 $board->id == '5'  이렇게 하나만 지정하면 잘됩니다.;;; 그 게시판 하나만...ㅠㅠ

     

    그렇다면 혹시.... 좀 무식한 방법같은데 지금 잘 보여주는 5번 게시판의 코드 전체를 

    번호만 달리해 게시판 수 만큼 각각 모두 동일하게 전체 코드를 반복해 추가해넣으면.... 될까요??   

     

  • 해당 코드를 게시판 번호만 달리하면 에러가 발생합니다.

    워드프레스 필터(filter)는 중복해서 여러 개 사용할 수 있지만

    PHP 함수명이 중복되어선 안 됩니다.

    올려주신 코드 중 my_kboard_content 부분이 함수명입니다.

    해당 코드를 여러 번 적용하시려면 게시판 ID를 바꾸신 후

    my_kboard_content 부분을

    my_kboard_content1, my_kboard_content2 이런 식으로 모두 교체하신 후에 적용해보시겠어요?

    고맙습니다.

  • 와~! 드디어

    대박이네요... 모든 게시판에서 잘 보입니다. 

    알려주신대로 해당 코드를 여러 번 적용하기위해

    추가하려는 게시판 ID 번호(1, 4, 6) 에 따라

    my_kboard_content 부분도 

    my_kboard_content1, my_kboard_content4, my_kboard_content6 이런 식으로 모두 교체해주니 모두 잘 보입니다. 

    이렇게 여러번 적용했다고 해서 특별히 다른 문제는 없겠지요?? ㅎㅎ

    도움에 다시 한번 감사드립니다. 엄청 편하네요...^^

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