본문 바로가기

지적자본/easy digital download

Easy Digital Downloas(EDD)의 다운로드 목록에 제목 나오게 하는 방법

by 디런치 2020. 8. 22.

워드프레스 플러그인 Easy Digital Downloas(이하 EDD)를 이용하여 콘텐츠를 판매사이트를 운영하다보면, edd측에서 교묘하게 쉽고 간편한 기능을 누락시켜 놓는 경우가 있다. 이것은 무료로 제공되는 edd의 수익창출의 근원이 되기도 하지만, 이 무료 플러그인에 대한 스트레스를 쌓게 만드는 요인이 되기도 한다.

 

 

 

여하튼 필자는 오랜시간동안 국내에 별로 후기도 없는 edd를 이용하여 콘텐츠 공유사이트를 운영중이다. 콘텐츠를 다루다 보니 저작권에 대한 장치와 규정이 필요하게 되었고, 사용자의 다운로드 내역을 관리할 필요가 있다.

 

즉, 사용자가 나의 사이트에서 다운로드한 내역을 한눈에 볼 수 있고, 관리자 역시도 어떠한 사용자가 어떠한 콘텐츠를 다운받았는지 관리할 필요가 있다는 것이다.

 

그래서 EDD의 경우는 다운로드 내역을 한눈에 볼 수 있는 기능을  기본적으로 제공하고 있다. 다만, 다운로드 내역을 보면, 리스트에 "제목"이 아닌 고유번호(숫자)로 분류하여 리스트를 안내한다. 사용자가 자신이 다운로드 받은 파일에 대해 체크하고 싶으나 이 리스트에 들어가면 숫자로 된 고유번호로 나열되고 제목은 보이지 않으니 리스트만으로 어떠한 콘텐츠인지 분간하기 어렵다는 것이다.

 

그래서 구글링으로 알아낸 결과 function.php 에 아래 코드는 삽입하면 다운로드 내역에 제목을 출력할 수 있다는 것을 알았다.

 

add_action('edd_purchase_history_header_after', 'add_product_th');
add_action('edd_purchase_history_row_end', 'add_product_td', 10, 2);

function add_product_th() {
	?>
	<th class="eddb_purchase_titles">
		<?php esc_html_e('Products','easy-digital-downloads'); ?>
	</th>
	<?php
}	
	
function add_product_td($id, $meta) {
	
	$meta = wp_parse_args($meta, array('downloads' => array()));
	$ids = wp_list_pluck($meta['downloads'], 'id');
	
	?>
	<td class="eddb_purchase_titles">
	<?php 
	foreach($ids as $id) { 
		?>
		<div class="eddb_purchase_title">
			<?php 
			$download = new EDD_Download($id); 
			esc_html_e($download->post_title); 
			?>
		</div>
		<?php 
	} 
	?>
	</td>
	<?php
}

간단히 위의 소스만 넣으면 제목이 출력된다. 

 

아주 간단한 것이지만, 사용자들의 편의를 위해 이를 추가해 보자.

반응형


댓글