Funkcja WordPress służy do programowego przesyłania danych. Standardowe pola do przesłania w celu umieszczenia treści, fragmentu, tytułu, daty i wielu innych.
Brak dokumentacji dotyczy sposobu przesłania do pola niestandardowego. Wiem, że jest to możliwe dzięki tej add_post_meta($post_id, $meta_key, $meta_value, $unique);
funkcji.
Ale jak włączyć to do standardowej wp_insert_post
funkcji?
<?php
$my_post = array(
'post_title' => $_SESSION['booking-form-title'],
'post_date' => $_SESSION['cal_startdate'],
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_type' => 'booking',
);
wp_insert_post( $my_post );
?>
php
custom-field
post-meta
posts
Robin I Knight
źródło
źródło
public
modyfikatora przed „funkcją”. Jeśli dołączasz samą funkcję bez umieszczania jej w klasie, nie musisz dodawaćpublic
Możesz po prostu dodać „add_post_meta” po „wp_insert_post”
źródło
Nie sądzę, że można go używać z wp_insert_post () ;.
Powodem jest to, w jaki sposób WP przechowuje dwa typy danych. Wpisy są przechowywane w jednym dużym monolitycznym stole z tuzinem różnych kolumn (wp_posts); pola niestandardowe są przechowywane w prostszej, 4-kolumnowej tabeli (wp_postmeta) składającej się głównie z meta klucza i wartości, powiązanych z postem.
W związku z tym nie możesz tak naprawdę przechowywać niestandardowych pól, dopóki nie będziesz mieć identyfikatora postu.
Spróbuj tego:
Ten post w kodeksie pomógł - jest to coś zupełnie przeciwnego do tego, co robisz (tj. Usuwanie wiersza DB po usunięciu postu): http://codex.wordpress.org/Plugin_API/Action_Reference/delete_post
źródło
Użyj
save_post
filtru, a następnie wywołajadd_post_meta
funkcję filtra.źródło
save_post
Działanie @aendrew znajduje się na samym końcu funkcji, ma identyfikator posta i obiekt przekazany do niego, odpowiedź jest dźwiękowa.