Szukaj…


Składnia

  • wp_insert_post (tablica $ args, bool $ wp_error);

Parametry

Parametr Opis
$ args (wymagana tablica) Tablica kluczowych wartości poniższych elementów.
$ wp_error (Boolean Opcjonalne) W przypadku niepowodzenia zwróć błąd WP_Error.

Uwagi


Argumenty

Następna tabela pokazuje listę elementów, których możesz użyć wewnątrz pierwszego parametru (Array).

Parametr Opis
ID (Int) Identyfikator postu. Jeśli jest równy wartości innej niż 0, post z tym identyfikatorem zostanie zaktualizowany. Domyślnie 0.
post_author (Int) Identyfikator użytkownika, który dodał post. Domyślnie jest to bieżący identyfikator użytkownika.
Data wysłania (String) Data wpisu. Domyślnie jest to aktualny czas.
post_date_gmt (String) Data wpisu w strefie czasowej GMT. Domyślnie jest to wartość $ post_date.
Treść postu (Mieszane) Treść postu. Domyślnie pusty.
post_content_filtered (String) Przefiltrowana treść postu. Domyślnie pusty.
post_title (String) Tytuł postu. Domyślnie pusty.
post_category (Array) Tablica wartości kategorii post.
post_excerpt (String) Fragment postu. Domyślnie pusty.
post_status (String) Status postu. Domyślna wersja robocza.
post_type (String) Typ postu. Domyślny post.
comment_status (String) Czy post może akceptować komentarze. Akceptuje otwarte lub zamknięte. Wartość domyślna to wartość opcji default_comment_status.
ping_status (String) Czy post może akceptować pingi. Akceptuje otwarte lub zamknięte. Wartość domyślna to wartość opcji default_ping_status.
post_password (String) Hasło dostępu do postu. Domyślnie pusty.
post_name (String) Nazwa postu lub ślimaka. Domyślnie jest to oczyszczony tytuł postu podczas tworzenia nowego postu.
to_ping (String) Lista adresów URL do pingowania rozdzielonych spacjami lub znakami przewijania. Domyślnie pusty.
pingowany (String) Lista pingowanych adresów URL oddzielonych spacjami lub znakami przewijania Domyślnie pusty.
post_modified (String) Data ostatniej modyfikacji postu. Domyślnie jest to aktualny czas.
post_modified_gmt (String) Data ostatniej modyfikacji postu w strefie czasowej GMT. Domyślnie jest to aktualny czas.
post_parent (Int) Ustaw to dla wpisu, do którego należy, jeśli istnieje. Domyślnie 0.
menu_order (Int) Kolejność wyświetlania postu. Domyślnie 0.
post_mime_type (String) Typ MIME postu. Domyślnie pusty.
przewodnik (Ciąg) Globalny unikalny identyfikator do odniesienia do postu. Domyślnie pusty.
Podatek (Tablica) Tablica terminów taksonomicznych wpisywanych według ich nazwy taksonomicznej. Domyślnie pusty.
meta_input (Array) Tablica wartości meta postów wpisywanych przez ich klucz meta postu. Domyślnie pusty.

Unikaj zduplikowanych postów

Kiedy wykonasz tę funkcję, prawdopodobnie dostaniesz zduplikowany post, przynajmniej tak mi się stało. (Możesz to sprawdzić w sekcji Post WordPress)

Znalazłem rozwiązanie :

if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
    $my_post = array('post_title' => $title,
        'post_content' => 'Content',
        'tags_input' => $tags,
        'post_category' => array(2),
        'post_status' => 'publish'
    );

    $result = wp_insert_post( $my_post );
}

Wyjaśnienie

Przed zapisaniem nowego postu sprawdź, czy nowy post już istnieje, używając tytułu postu jako parametru, jeśli nie ma tytułu postu, możesz zapisać nowy post.

Sprawdź dokumentację get_page_by_title tutaj .

Wprowadzenie

Czasami mamy inny edytor gdzieś indziej niż TinyMCE (domyślny edytor Wordpress). Dzieje się tak, gdy tworzymy własny motyw, wtyczkę lub coś konkretnego; i musimy pisać i manipulować rodzajem postu i zapisać go w naszej Bazie danych WP.

Tak więc, jeśli jesteś w takiej sytuacji, możesz użyć funkcji Wordpress o nazwie:

wp_insert_post( array $args, bool $wp_error );

Utwórz post podstawowy

$basic_post_args = array(
    'post_title' => 'My Basic Post',
    'post_content' => 'This is a basic content',
    'post_status' => 'publish',
    'post_author' => 1,
    'post_category' => array(8, 59)
);

wp_insert_post( $basic_post_args );

Utwórz stronę podstawową

$basic_page_args = array(
    'post_title' => 'My Basic Page',
    'post_content' => 'This is a basic content',
    'post_type' => 'page',
    'post_status' => 'publish',
    'post_author' => 1
);

wp_insert_post( $basic_page_args );


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow