Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcosvn

Ajuda - Página abrir link automático

Recommended Posts

e ai galera

agradeço desde já quem puder me ajudar. Como faço para que o usuário ao acessar o site e clicar em qualquer parte do site, seja aberto um link em outra página ? (uma única vez)

tenho um layout pronto no wordpress e não faço idéia como fazer isso e nem onde devo incluir esse comando.

agradeço qualquer sugestão

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que terá que salvar em cookie, se o cara já abriu ou não o link, caso não uma div invisível que ficaria cobrindo todo site teria o link.

Mas isso é muito chato, e pode vir a perder visitantes com isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente você monitora o evento click e força abrir via JavaScript.

Ex:

$(document).ready(function() {
	//Deixamos uma variavel no escopo inicial, assim podemos testar ela....
	var jaClicou = false;
	
	//Monitoramos o evento 'click' dentro da raiz(document - ou seja de toda a tela)
	$(document).on('click', function () {
		
		//Agora testamos a variavel
		if(!jaClicou){
			//Por fim abrimos o site.
			window.open("http://www.google.com/");
		}

		jaClicou = true; //Setamos a variavel para true, agora ele não cai mais na cond.
	});
	
});

O lance do 'Cache', ou evitar que a cada refresh você efetue um disparo de novo click, temos a super global $_SESSION no php.

No Wordpress fica com alguns passos a mais...

Aguenta ai q vou fazer um exemplo



Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou meio grande haha, mas esta ai:

dentro do seu tema, você tem um arquivo 'functions.php', adicione ao final dele o código:

function imasters_cache_update(){
	if (!session_id()) {
		session_start();
	}
	
	$_SESSION['imasters_cache'] = true;

}
add_action('wp_ajax_imasters_cache_update', 'imasters_cache_update');
add_action( 'wp_ajax_nopriv_imasters_cache_update', 'imasters_cache_update' );

function imasters_enqueue_scripts_styles(){
	
	if (!session_id()) {
		session_start();
	}
	
	wp_enqueue_script('imasters', get_template_directory_uri() . '/js/imasters.js', array('jquery'));
	
	if($_SESSION['imasters_cache']){
		$jaClicou = true;
	} else {
		$jaClicou = false;
	}
	
	$imasters_def = array(
		 'ajax_url'	=> admin_url('admin-ajax.php')
		,'ja_clicou'=> $jaClicou
	);
	wp_localize_script( 'imasters', 'imasters_def', $imasters_def );
	wp_enqueue_script('imasters');
	
}

add_action ( 'wp_enqueue_scripts', 'imasters_enqueue_scripts_styles' );

Ai no caso só você criar no seu tema uma pasta js (caso não exista), e joga o arquivo 'imasters.js' lá dentro, com o seguinte conteúdo:

/* Global: imasters_def */
(function($) {
	$(document).ready(function() {
		
		//console.log(imasters_def);
		//Deixamos uma variavel no escopo inicial, assim podemos testar ela....
		//var jaClicou = false;
		var jaClicou = imasters_def.ja_clicou;
		
		//Monitoramos o evento 'click' dentro da raiz(document - ou seja de toda a tela)
		$(document).on('click', function () {
			
			//Agora testamos a variavel
			if(!jaClicou){
				//Por fim abrimos o site.
				window.open("http://www.google.com/");
				
				
				
				$.ajax({
					 url: imasters_def.ajax_url
					,type:'POST'
					,dataType: 'json'
					,data: {
						action: 'imasters_cache_update'
					}
					,success: function(json){
						//window.location = dakol_def.path_cart;
						// console.log('bloco-success:', true);
					},error: function(json){
						// console.log('bloco-fail:', false);
					}
				});
				
				
			}
			jaClicou = true;
		});
		
	});
})(jQuery);

Basicamente o código faz o mesmo que o meu exemplo do #3, porem agora utilizando a variável da SESSION assim caso o visitante recarregue seu site ou navegue pelo mesmo não fica reabrindo, e se for a primeira vez ele ocorre um Ajax, chamando a função: imasters_cache_update().

Tem vários conceitos utilizados, recomendo que tente entender função a função escrita aqui antes de utilizar.

Qualquer duvida da um grito.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou bem maneiro gabrieldarezzo, parabéns! :D

Mas se o cara fechar o browser e entrar de novo, ele vai 'clicar' de novo... Mas ai vai da necessidade (1 click por dia, ou cada vez que entrar).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo a documentação:

http://www.php.net/manual/pt_BR/function.session-cache-expire.php

Tem 180 Min.

Utilizando o conceito de sessão.

Um caminho para nunca mais abrir seria o Cookie acredito eu (nunca utilizei esse carinha)

Ele resolve esse problema @itlpps ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo a documentação:

http://www.php.net/manual/pt_BR/function.session-cache-expire.php

Tem 180 Min.

Utilizando o conceito de sessão.

Um caminho para nunca mais abrir seria o Cookie acredito eu (nunca utilizei esse carinha)

Ele resolve esse problema @itlpps ?

Não sabia que demorava tanto assim a sessão do php... Do .Net é 20 minutos rs.

Sim, salvando em Cookie não abre mais, a não ser que o cara limpe os Cookies, ai é inevitável ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.