Qual é a maneira correta de definir a data da postagem ao enviar uma postagem pelo front-end usando wp_insert_post ( Trac )?
Meu snippet agora está publicando com o tempo do mysql ...
if (isset ($_POST['date'])) {
$postdate = $_POST['Y-m-d'];
}
else {
$postdate = $_POST['2011-12-21'];
}
// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
'post_title' => $title,
'post_content' => $description,
'post_date' => $postdate,
'post_status' => 'publish',
'post_parent' => $parent_id,
'post_author' => get_current_user_id(),
);
//SAVE THE POST
$pid = wp_insert_post($new_post);
date-time
wp-insert-post
m-torin
fonte
fonte
$postdate = date('2010-02-23 18:57:33');
realmente faz caixas de entrada parar de funcionar, talvez isso é apenas um bug no Chrome embora ...Notice: A non well formed numeric value encountered in C:\xampp\htdocs\wordpress\wp-includes\functions.php on line 4028
$postdate = '2010-02-23 18:57:33';
, porquedate()
requer um formato de data literal para processar, não números. Ou$postdate = date('Y-m-d H:i:s', strtotime('2010-02-23 18:57:33'));
Para converter sua data no formato Wordpress (MySQL DATETIME), tente o seguinte:
ou, claro, se você realmente quer ser sexy, faça o seguinte:
fonte
date("Y-m-d H:i:s", $date_stamp)
código.Você não pode formatar o
$_POST['date']
assim ... você vai ter que correr o valor de$_POST['date']
por algo assim$postdate = date( $_POST['date'] )
... Há também a possibilidade de get_Option chamada para as configurações do blog. Consulte Referência das opções no Codex.fonte
Para a comunidade, aqui está o meu código de trabalho final:
cabeçalho
fonte
deparei com google. Eu sei que é velho, mas não há resposta definitiva. código wordpress usa
current_time( 'mysql' )
para salvar data / hora na função wp_update_post! isso irá gerar o formato de data desejado.fonte