Como posso alterar a data de publicação com base em um campo personalizado?

Como posso alterar a data de publicação com base em um campo personalizado?

O autor usa um selecionador de data para escolher a data para a input no diário. A data é usada para fazer uma lista de todas as inputs do diário dos usuários. Posso encomendar essas postagens em uma lista com uma query e um orderby . Mas, então, Next e Previous não correspondem à lista.

Eu li aqui, códice e Google como tentar consertar isso, nenhum funcionou até agora.

Talvez a melhor forma seja definir a data de publicação como o campo personalizado do seletor de data?

alguém sabe como isto pode ser feito?

Solutions Collecting From Web of "Como posso alterar a data de publicação com base em um campo personalizado?"

Eu não sei como seu formulário de frente de página salva seus dados, mas presumivelmente está usando wp_insert_post e wp_update_post . Se assim for, existe um filtro chamado wp_insert_post_data que pode ser usado para alterar os dados da publicação antes que a publicação seja inserida ou atualizada.

 function reset_post_date_wpse_100021($data,$postarr) { var_dump($data,$postarr); die; //debug // your code return $data; } /** * runs before new posts have IDs !!! */ add_filter('wp_insert_post_data','reset_post_date_wpse_100021',99,2); 

O segundo parâmetro é o seu $_POST dados mais os dados do database antigo com os dados $_POST sobrescrevendo os dados antigos onde eles conflitam.

Se você olhar para o var_dump desse valor de $postarr você deve ver seus dados de datepicker. Você precisa cortar seus dados do datepicker e replace os valores da data na matriz de $data .

O problema que vejo é que o WordPress (e o MySQL) usam 0000-00-00 00:00:00Ymd H:i:s – como formato de data e hora. Isso é o que você precisa fornecer, mas você não menciona um componente de tempo. No mínimo, pegue 00:00:01 na sua data.

Isso deve ser tudo o que você precisa.