Eu criei um plugin pra inserir e excluir banner’s com contador de clicks. Eles são exibidos em slideshow, ou seja, se cadastrar mais de um banner eles ficam passando. o problema é que fiz isso personalizado para um trabalho, então você terá que alterar pra ficar do teu jeito.
Siga os passos:
1 – Suba o arquivo jquery e o plugin jquery cycle, vai achar fácil na net ambos.
2 – No arquivo header.php do seu tema coloque os códigos abaixo, antes de fechar a tag </head>
<!-- jQuery -->
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.2.min.js"></script>
<!-- Cycle -->
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/cycle/jquery.cycle.all.min.js"></script>
// Efeito dos banner's de publicidade
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#banner1').cycle({
fx: 'fade'
});
});
</script>
3 – Cria uma pasta com qualquer nome e dentro dela coloca dois arquivos com os códigos a seguir:
adbanner.php
<?php
/*
Plugin Name: adBanner
Plugin URI: http://leobaiano.com/download
Description: Plugin para gerenciar banner
Version: beta 01
Author: Leo Baiano
Author URI: http://leobaiano.com/
*/
global $adBanner_db_version;
$adBanner_db_version = "1.0";
function adBanner_install() {
global $wpdb;
global $adBanner_db_version;
$table_name = $wpdb->prefix . "adbanner";
if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
$sql = "
CREATE TABLE " . $table_name . " (
id INT NOT NULL AUTO_INCREMENT ,
titulo VARCHAR(250) NULL,
url VARCHAR(250) NULL ,
imagem VARCHAR(250) NULL ,
clicks INT NULL ,
PRIMARY KEY (id) )
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option("adBanner_db_version", $adBanner_db_version);
}
}
register_activation_hook(__FILE__,'adBanner_install');
function adBanner_option() {
if (function_exists('add_options_page')) {
add_options_page('Options', 'Ad Banner', 5, basename(__FILE__), 'adBanner_menu');
}
}
function adBanner_menu(){
global $wpdb;
if(isset($_POST['adBanner'])){
$overrides = array( 'test_form' => false);
$imagemUp = wp_handle_upload($_FILES['imagem'],$overrides);
$titulo = $_POST['titulo'];
$url = $_POST['url'];
$imagem = $imagemUp['url'];
$insert = $wpdb->insert('wp_adbanner', array('titulo' => $titulo, 'url' => $url, 'imagem' => $imagem, 'clicks' => 0));
}
if(isset($_POST['adBannerExcluir'])){
$id = $_POST['id'];
$wpdb->query("
DELETE FROM wp_adbanner WHERE id = '$id' LIMIT 1");
echo "Excluido com sucesso!";
}
$cadastros = $wpdb->get_results("SELECT * FROM wp_adbanner ORDER BY id DESC");
echo "<div class='wrap'>\n";
echo "<h2>Ad Banner (Cadastro)</h2>\n";
echo "<form name='adBanner' method='post' enctype='multipart/form-data'>\n";
echo "<label for='titulo'>Titulo</label><br />\n";
echo "<input type='text' name='titulo' /><br />\n";
echo "<label for='url'>URL</label><br />\n";
echo "<input type='text' name='url' id='url' /><br />\n";
echo "<label for='imagem'>Imagem</label><br />\n";
echo "<input type='file' name='imagem' /><br />\n";
echo "<input type='submit' name='adBanner' value='Salvar' />\n";
echo "</form>\n";
echo "</div>\n";
echo "<h2>Banner's Cadastrados</h2>\n";
echo "<table border='1' width='600px'>\n";
echo "<tr>\n";
echo "<td>Titulo</td>\n";
echo "<td>Clicks</td>\n";
echo "</tr>\n";
foreach($cadastros as $cadastro){
echo "<tr>\n";
echo "<td><a href='$cadastro->imagem'>$cadastro->titulo</a></td>\n";
echo "<td>$cadastro->clicks
<form name='adBannerExcluir' method='post'>
<input type='hidden' name='id' value='$cadastro->id' />
<input type='submit' name='adBannerExcluir' value='Excluir' />
</form>
</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
function adBanner(){
global $wpdb;
$count = $wpdb->get_results("SELECT COUNT(*) FROM wp_adbanner WHERE bloco = '1'");
$bloco1 = $wpdb->get_results("SELECT * FROM wp_adbanner WHERE bloco = '1' ORDER BY id DESC");
if($count > 0){
$view1 = "<div id='banner'>\n";
foreach($bloco1 as $b1){
$view1 .= "<a href='http://www.seusite.com.br/wp/wp-content/plugins/adBanner/contador.php?id=$b1->id'><img class='bannerPublicidade' src='$b1->imagem' width='359' /></a>\n";
}
$view1 .= "</div>\n";
}
else{$view1 = "Espaço vazio.";}
echo $view1;
}
add_action('admin_menu', 'adBanner_option');
?>
contador.php
<?php
$id = $_GET['id'];
$conexao = mysql_connect("localhost", "usuariodoBD", "senhadoBD")
or die ("Configuração de Banco de Dados Errada!");
$db = mysql_select_db("BD")
or die ("Banco de Dados Inexistente!");
$sqlclicado = "SELECT * FROM wp_adbanner WHERE id = '$id' LIMIT 1";
$clicado = mysql_fetch_assoc(mysql_query($sqlclicado));
$url = $clicado['url'];
$clicks = $clicado['clicks'];
$clicks++;
$supdate = "UPDATE wp_adbanner SET clicks = '$clicks' WHERE id = '$id'";
$resultado = mysql_query($supdate);
header("Location: $url");
?>
4 – Suba a pasta com os dois arquivos que acabou de criar para a pasta de plugins do seu wordpress, acesse o menu administrativo e ative o plugin.
5 – Vai aparecer um menu adBanner no box configurações, lá você gerencia os banner’s.
6 – no seu tema você vai incluir o código <?php adBanner(); ?>
no local onde deseja exibir os banners.
Básicamente é isso, claro que vai precisar alterar algumas coisas no código.