Suporte » Desenvolvendo com WordPress » Custom Post Type Taxonomy Mapa de Imagens

  • rcriche

    (@rcriche)


    Amigos,

    não sou programador apenas ‘me viro’ – ou seja, consigo fazer as coisas mais básicas e, dependendo do nível da programação PHP, alterar algumas coisas para refletir minhas necessidades.

    Estou com a seguinte situação que não estou conseguindo resolver:

    1. Criei um CPT chamado “Realizações” com uma taxonomy chamada “Local”;
    2. As ‘Realizações’ são os trabalhos realizados pela empresa e o ‘Local’ são os estados do Brasil onde estes trabalhos foram feitos;
    3. Na página realizacoes.php eu tenho o mapa do Brasil com todos os seus estados já ‘mapeados’ e eu preciso então que, ao clicar em determinado estado, retorne os trabalhos realizados em uma div ao lado.

    Já li várias coisas a respeito mas não consigo pensar logicamente em cima dessa questão para chegar na forma correta de chamar e mostrar os dados de cada estado….

    O código da página:

    <div class="row">
    	        <div class="small-6 columns">
    	        	<figure>
    				<ul id="map">
    			    	<li id="cac" estado="acre"><a href="#" id="acre" title="acre" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="AC" /></a></li>
    			    	<li id="cal" estado="alagoas"><a href="#" id="alagoas" title="alagoas" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="AL" /></a></li>
    			    	<li id="cam" estado="amazonas"><a href="#" id="amazonas" title="amazonas" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="AM" /></a></li>
    			    	<li id="cap" estado="amapa"><a href="#" id="amapa" title="amapa" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="AP" /></a></li>
    			    	<li id="cba" estado="bahia"><a href="#" id="bahia" title="bahia" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="BA" /></a></li>
    			    	<li id="cce" estado="ceara"><a href="#" id="ceara" title="ceara" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="CE" /></a></li>
    			    	<li id="cdf" estado="distritofederal"><a href="#" id="distritofederal" title="distritofederal" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="DF" /></a></li>
    			    	<li id="ces" estado="espiritosanto"><a href="#" id="espiritosanto" title="espiritosanto" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="ES" /></a></li>
    			    	<li id="cgo" estado="goias"><a href="#" id="goias" title="goias" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="GO" /></a></li>
    			    	<li id="cma" estado="maranhao"><a href="#" id="maranhao" title="maranhao" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="MA" /></a></li>
    			    	<li id="cmg" estado="minasgerais"><a href="#" id="minasgerais" title="minasgerais" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="MG" /></a></li>
    			    	<li id="cms" estado="matogrossosul"><a href="#" id="matogrossosul" title="matogrossosul" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="MS" /></a></li>
    			   		<li id="cmt" estado="matogrosso"><a href="#" id="matogrosso" title="matogrosso" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="MT" /></a></li>
    			    	<li id="cpa" estado="para"><a href="#" id="para" title="para" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="PA" /></a></li>
    			    	<li id="cpb" estado="paraiba"><a href="#" id="paraiba" title="paraiba" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="PB" /></a></li>
    			    	<li id="cpe" estado="pernambuco"><a href="#" id="pernambuco" title="pernambuco" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="PE" /></a></li>
    			    	<li id="cpi" estado="piaui"><a href="#" id="piaui" title="piaui" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="PI" /></a></li>
    			    	<li id="cpr" estado="parana"><a href="#" id="parana" title="parana" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="PR" /></a></li>
    			    	<li id="crj" estado="riodejaneiro"><a href="#" id="riodejaneiro" title="riodejaneiro" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="RJ" /></a></li>
    			    	<li id="crn" estado="riograndedonorte"><a href="#" id="riograndedonorte" title="riograndedonorte" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="RN" /></a></li>
    			    	<li id="cro" estado="rondonia"><a href="#" id="rondonia" title="rondonia" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="RO" /></a></li>
    			        <li id="crr" estado="roraima"><a href="#" id="roraima" title="roraima" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="RR" /></a></li>
    			        <li id="crs" estado="riograndedosul"><a href="#" id="riograndedosul" title="riograndedosul" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="RS" /></a></li>
    			        <li id="csc" estado="santacatarina"><a href="#" id="santacatarina" title="santacatarina" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="SC" /></a></li>
    			        <li id="cse" estado="sergipe"><a href="#" id="sergipe" title="sergipe" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="SE" /></a></li>
    			        <li id="csp" estado="saopaulo"><a href="#" id="saopaulo" title="saopaulo" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="SP" /></a></li>
    			        <li id="cto" estado="tocantins"><a href="#" id="tocantins" title="tocantins" target="#real"><img src="<?php bloginfo('template_directory') ?>/img/null.gif" alt="TO" /></a></li>
    				</ul>
    				</figure>
    			</div>
    			<div class="small-6 columns" id="real">
    				<?php
    					global $post;
    					$args = array( 'numberposts' => -1, //Todos os posts
    					'post_type' => 'realizacoes', //do Custom Post Type - realizações
    					'local' => 'parana' ); //do local São Paulo
    					$myposts = get_posts( $args );
    				?>
    				<h3>Programas realizados no estado de: <?php single_cat_title(); ?></h3><br />
    
    				<?php
    					//Cria uma listagem dos posts
    					foreach( $myposts as $post ) :	setup_postdata($post); ?>
    
    						<div id="post-<?php the_ID(); ?>" class="blogpost">
    							<h4><?php the_title(); ?></h4>
    							<?php the_content(); ?>
    						</div>
    
    					<?php endforeach; ?>
    			</div>
    		</div>

    Este loop funciona perfeitamente.. a questão é que eu preciso que o a váriavel local (neste exemplo, parana) 'local' => 'parana' seja carregado ‘dinamicamente’, ou seja, quando o usuário clicar no link do mapa.

    Alguém pode me ajudar??

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Moderador Allyson Souza

    (@allysonsouza)

    Um dos caminhos possíveis:

    Com o JavaScript adicione um evento onClik nos seus
    <li>, que chame uma função que pegue o valor do atributo estado e passe para o script php no seu servidor através de um requisição assíncrona (Ajax). Com o valor do estado passado via Ajax, atribua-o ao local, fazendo assim com que o Loop seja determinado pelo estado selecionado.

    Queria poder explicar de forma mais detalhada, mas estou sem tempo. Estude Ajax, e quem sabe Ajax com JQuery (que é mais fácil) e terá a chave para fazer o que deseja.

    Criador do tópico rcriche

    (@rcriche)

    Obrigado Allyson, talvez este seja mesmo o caminho porém já tentei várias coisas mas meu conhecimento, ou melhor,minha falta de conhecimento sobre o assunto é um problema.
    Esta é a única página que falta para eu entregar o site e não sei mais o que fazer.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Custom Post Type Taxonomy Mapa de Imagens’ está fechado para novas respostas.