Download monitor: enviar download como anexo por email

Se você usa o plugin Download Monitor e deseja que seus usuários possam enviar os arquivos diretamente para a caixa de entrada, basta criar uma pasta dentro do diretório do seu tema, chamada “download-monitor” e dentro dela colocar o arquivo abaixo (content-download-email).

Download monitor: enviar download como anexo por email 1

Você só tem que observar que o caminho para os arquivos tem que ser o caminho completo, como em /home/usuario/wordpress/wp-content/uploads/dlm-downloads/file.zip, por exemplo. URLs não irão funcionar.

<?php
/**
 * Send download to user's email
 */

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

	/*$versions = $dlm_download->get_file_versions();
	reset($versions);
	$version = key($versions);
	$attach = $versions[$version]->url;*/
	$versoes = $dlm_download->get_file_versions();
	$versao = key($versoes);
	$attach = $versoes[$versao]->url;
	$email = $_POST['email'];
	$subject = $dlm_download->get_the_title();
	$message =  $dlm_download->post->post_content;

	if (!empty($email)){
		wp_mail( $email, $subject, $message, '', $attach);

		$countv = absint( get_post_meta( $version, '_download_count', true ) ) + 1;
		update_post_meta( $version, '_download_count', $countv );

		$count = absint( get_post_meta( $dlm_download->id, '_download_count', true ) ) + 1;
		update_post_meta( $dlm_download->id, '_download_count', $count );

		$result = '<div class="alerta verde">Seu arquivo foi enviado com sucesso.</div>';
	}
	else{
		$result = '<div class="alerta vermelho">Você precisa informar um email válido.</div>';
	}
}

?>
<div class="row" style='padding:20px 10px 10px; border-bottom:1px solid #eee; border-top:1px solid #eee'>
	<?php $dlm_download->the_image('blog-download'); ?>
	<div class="downloads"><strong>Baixe o arquivo logo ou receba-o por email:</strong></div>
<p style="margin-top:10px; text-align: center;">
	[ <i class="fa fa-download"></i> <a title="Baixar o arquivo" href="<?php $dlm_download->the_download_link(); ?>">
	 <?php $dlm_download->the_title(); ?></a> - <?php echo $dlm_download->get_the_download_count(); ?> downloads
	 ]
	</p>
	<?php  if ($result !== "") echo $result;  ?>
	<form method="post">
				<label for="email"><input size="40" name="email" type="email" placeholder="Informe seu email" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Informe seu email':this.value;" value="Informe seu email" required></label>	
				<input type="submit" class="button" value="Enviar por email">
			</form>
</div>

3 comentários em “Download monitor: enviar download como anexo por email”

Deixe um comentário