• Resolvido 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 na div ao lado.

    Resumidamente, está assim: http://pastebin.ca/2376535

    *deixei apenas dois estados na lista para facilitar a visualização.
    *o site ainda em localhost, mas, se alguém se dispuser posso disponibilizar id/senha do teamviewer para melhor visualização da página.

    Obviamente que a query está errada.. 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….

    Alguém pode me ajudar??

A visualizar 3 respostas - de 1 a 3 (de um total de 3)
  • Se puderes colocar aqui a query ques estás a fazer seria mais fácil para ajudar, de qualquer forma a query para obteres todos os posts do teu “custom post type” com o local “Sao Paulo” seria assim:

    <ul>
    <?php
    global $post;
    $args = array( 'numberposts' => -1, //Todos os posts
    'post_type' => 'realizacoes', //do Custom Post Type - realizações
    'local' => 'sao-paulo' ); //do local São Paulo
    $myposts = get_posts( $args );
    
    //Cria uma listagem dos posts
    foreach( $myposts as $post ) :	setup_postdata($post); ?>
    	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
    </ul>
    Thread Starter rcriche

    (@rcriche)

    Obrigado Ricardo… eu tinha colocado no pastebin mas parece que ele está com algum problema.

    O código, agora, está assim:

    <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>

    O que você me mandou está correto, ele chama e mostra as informações do local designado no array $args. Mas, agora, como chamar isso dinamicamente quando o usuário clicar em algum estado no mapa?

    No query colocas o local como variável, a forma como lhe passas o valor fica ao teu critério, eu utilizaria um método POST para tal, transformando a listagem de estados numa espécie de “formulário”.

    No caso de post, por exemplo:

    ...'post_type' => 'realizacoes', //do Custom Post Type - realizações
    'local' => $_POST['local'] ); 
    
    $myposts = get_posts( $args );

A visualizar 3 respostas - de 1 a 3 (de um total de 3)
  • O tópico ‘Custom Post Type + Taxonomy + Mapa de Imagens’ está fechado a novas respostas.