web-development-kb-pt.site

É necessário definir o tipo de dados de um campo personalizado?

Eu estou adicionando um novo "Custom Post Type" chamado "Seminar". Estou definindo três campos personalizados

  1. Localização
  2. StartTime
  3. Fim do tempo

StartTime e EndTime vão armazenar datas (surpresa, surpresa). Eu estou querendo saber se há alguma maneira de dizer ao WordPress para tratar essas datas como para que eu possa classificar por eles e outras coisas.

Eu sou muito novo no WP, então me perdoe se essa é uma pergunta idiota.

3
jessegavin

Hia.

Basicamente não. Mas, você pode encomendar por meta_value em WP_Query, então você pode classificar. Eu não tenho certeza de qual formato você está armazenando as datas, mas ele precisará ser algo que o MySQL pode ordenar, um timestamp simples do Unix seria bom, você faria:

$query = new WP_Query( 'post_type=seminar&meta_key=start_time&meta_value=' . time() .  '&meta_compare=>' );

Conseguiria todos os seminários com uma data de início depois de "agora"

2
Joe Hoyle

O valor do campo personalizado é armazenado como está - e eu acho que você pode usar a resposta de Joe para obter as postagens, no entanto, para "classificar" usando a hora de início, você pode precisar usar algo assim:

$posts = query_posts($query_string. '&orderby=meta_value&meta_key=start_time&order=DESC' ); 

Existe um plug-in chamado mais campos, que eu acho que vai deixar você fazer isso sem escrever código. Você pode adicionar uma nova caixa de entrada apenas ao seu tipo de postagem personalizada e, em seguida, selecionar a data nas opções avançadas.

1
rfair404