Suporte » Desenvolvendo com WordPress » Query_post pegando post com data maior que…

  • Olá a todos! Estou estudando o WordPress e cheguei em uma duvida! Eu classifiquei ela com dificil pq ja li bastante posts e ate agora nada =D.

    Eu criei uma taxonomia eventos e acrescentei uma campo persoalizado data de inicio(AAAAMMDD) e gostaria de listar todos os post(Eventos) que tem data mairo que a data do dia atual.

    eu pesquisei sobre os comando buscam os posts como query_post e wp_query e não achei nenhuma solução (AINDA).

    sei que para fazer selects mais complexos tenho que usar a classe $wpdb mas gostaria de saber se tem a opção com o query_post?

    Desde já agradeço a todos pela colaboração!

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Segue uma adaptação simples que eu resolvi esse problema, axo eu que o certo eh fazer a consulta no banco direto, mas isso já resolve o problema

    <?php
            while(have_posts()) : the_post();
                global $post;
                $data = date("Y-m-d H:i:s"); //Define a data atual
                if($post->post_date >= $data) //verifica se a data do post é maior ou igual a data atual. o resto do codigo eh de praxi pra colocar na tela
                {
                    ?>
                    <div class="noticias_lineposts">
                        <p><?php the_time('l, j \d\e F \d\e Y'); ?> às <?php the_time('G\hi'); ?></p>
    
                        <h3><a href="<?php echo the_permalink();?>"  rel="bookmark" title="<?php the_title_attribute(); ?>"><?php echo get_the_title(); ?></a></h3>
    
                    </div>
    
            <?php
        }
    endwhile; //fim while
    ?>

    espero que resolva seu problema!

    Como você utilizou um custom field, você pode utilizar o WP_Query passando o array meta, que é o meta_key(custom fied). O WP_Query é bem parecido com o query_posts.
    Utilizar o operador >= e o tipo DATETIME.

    Abaixo deixo um exemplo:

    $args = array(
    		'post_type' => 'post', //Aqui eu exibo todos os posts
    		'meta' => array(
    			'key' => 'data_inicio', //nome do seu custom field
    			'value' => date('Y-m-d'), //Aqui ele vai exibir o dia de hoje, você pode mudar a data se quiser
    			'compare' => '>=', //maior que a data do value
    			'type' => 'DATE' //poderia utilizar DATETIME se tivesse o formato com Data e Hora
    		)
    	);
    	$query = new WP_Query( $args );
    	while($query->have_posts()) : $query->the_post();
    		the_title();
    	endwhile; wp_reset_postdata();

    Referência: http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Query_post pegando post com data maior que…’ está fechado para novas respostas.