Ponto Nulo Ponto Nulo Ponto Nulo

Tutorial de como colocar anúncios diferentes em cada página

Por: Rômulo Augusto em 26 de agosto de 2009, categoria: Desenvolvimento

Já vi uma galerinha querendo gerenciar melhor os anúncios nos seus blogs, uns porque não querem que o Google puna por estarem colocando o Adsense em local inapropriado, outros porque querem colocar outros anúncios (como os do UOL) nas páginas onde o Adsense não é permitido, e outros porque querem otimizar ainda mais seus posts colocando a propaganda que acham que devem nele.

Pensando nisso resolvi mostrar pra vocês uma forma de fazer, que já funciona no Mundo Afora (olha que portifólio hein! =D). É simples mas bem funcional e usa um poderoso recurso do WordPress, que são os campos personalizados ou custom fields.

Primeiro passo: Defina as áreas que você gostaria de colocar os anúncios.

Veja abaixo um exemplo. As partes em vermelho são as áreas determinadas para colocar os anúncios.

anuncios-em-blogs-1

anuncios-em-blogs-2

Defina um nome para cada área para que ela possa ser usada mais tarde pelas funções.

Por exemplo, a área da primeira figura poderia ter o nome post-topo-afiliado e a da segunda figura poderia ser post-conteudo-afiliado.

Segundo passo: Crie as funções php necessárias para a manipulação dos anúncios.

Um arquivo de funções php, como o arquivo functions.php já existente nos templates wordpress, deve ser criado. Chame-o de user-functions.php. Abaixo está o código php das funções, basta copiar e colar no arquivo que acabou de criar.

<?php
/**
 * Usado para conteudos de afiliados que são colocados dinamicamente no post.
 * Utiliza um "custom field" e a posição onde tal conteúdo deve ser inserido.
 *
 * O código do afiliado pode ser colocado manualmente, como o conteúdo do custom field, como também
 * pode ser procurado em um arquivo pré-definido. Para usar o arquivo deve-se colocar como valor do
 * custom field umas das seguintes opções: "uol", "adsense"
 *
 * @param $afiliado Custom Field key
 * @param $position Posição onde será colocado o conteúdo
 */
function get_conteudo_afiliado($afiliado) {

	global $post;

	$afiliado_meta = get_post_meta($post->ID, $afiliado, true);

	//Por padrão o conteúdo do campo personalizado é o código a ser inserido
	$conteudo_afiliado = $afiliado_meta;

	$arquivo = $afiliado_meta . "-" . $afiliado;

	//Se é afiliado definido em um arquivo, recupera o conteúdo que está no arquivo
	//Se for UOL, pega o conteúdo de forma rotativa
	if( ($afiliado_meta == "uol") || ($afiliado_meta == "adsense") ) {
		$conteudo_afiliado = get_text_from_file($arquivo);
	}

	return $conteudo_afiliado;
}

/**
 * Lê o arquivo e retorna o texto contido nele
 * @param $file nome do arquivo SEM EXTENSÃO
 */
function get_text_from_file($file = '') {

	$file = trim($file);

	if (strlen($file) > 0) {

		$file = ABSPATH . "wp-content/" . $file . ".txt";

		if (file_exists($file)) {

			$fp = fopen($file,'r');
			$text = fread($fp, filesize($file));
			fclose($fp);

			return $text;
		}
	}
}

/**
 * Verifica se algum custom field foi adicionado ao post com a chave especificada
 *
 * @param $custom_field_key Chave do custom field
 */
function exists_custom_field_key($custom_field_key) {

	global $post;

	$exists = get_post_meta($post->ID, $custom_field_key);

	return ($exists != "");
}

?>

Com estas funções é possível reusar um código que está em um arquivo texto. Para isso, você deve criar um arquivo com o nome na estrutura [nome do afiliado] + "-" + [nome do campo personalizado] + .txt dentro do diretório wp-content, por exemplo adsense-post-topo-afiliado.txt. Esse arquivo conterá o código HTML do anúncio do adsense.

As funções já estão feitas para reutilizar o código para os afiliados uol e adsense. Então, apenas use esses valores se vc já tiver criado os respectivos arquivos.

Terceiro passo: Incluir as funções do arquivo user-functions.php no arquivo functions.php.

Coloque o arquivo user-functions.php no diretório do seu template/theme wordpress (o mesmo diretório de onde está o arquivo functions.php). Depois adicione o código abaixo no final do arquivo functions.php:

<?php include_once (TEMPLATEPATH . '/user-functions.php'); ?>

Quarto passo: Use as funções nos arquivos do seu template.

Identifique, no código HTML, as áreas definidas no primeiro passo e use as funções da seguinte forma:

<?php if(custom_field_key_exists("post-topo-afiliado")) { ?>
	<div>
		<?php echo get_conteudo_afiliado("post-topo-afiliado"); ?>
	</div>
<?php } ?>

Primeiro verifica-se se o campo personalizado post-topo-afiliado está sendo utilizado para depois utilizá-lo.

Quinto passo: Use os campos personalizados em seus posts.

Quando for criar um novo post ou alterar um que já existe, você pode usar os seus "campos personalizados" a vontade.

Se você quer que o código pré-definido do adsense seja mostrado, então utilize:

campo-personalizado-wordpress-1

Caso queira o do UOL então use a palavra " uol " como valor. Caso queira colocar o próprio código HTML do anúncio, então basta colar o código na caixa de texto que indica o valor do campo personalizado.

É isso galera. Caso tenham alguma dúvida ou problema, comentem aí pra a gente tentar resolver.

Valeu.

Bookmark and Share
Related Posts with Thumbnails

Deixe uma resposta