Tworząc import postów do wordpresa możemy posłużyć się poniższym kodem aby dodąć wpis:
Korzystamy z wbudowanych funkcji Wordpress-a więc zaczynamy od
require( $katalog_z_wordpresem . '/wp-load.php' );
następnie
$my_post = array( 'post_title' => wp_strip_all_tags( (string)$tytuł ), 'post_content' => (string)$tresc_wpisu, 'post_status' => 'publish', 'post_author' => $userid, 'post_category' => array( $kategoria_id ), 'post_type' => $typ_postu, ); $post_meta=array( 'nazwa_wartosci_meta' => (string) $wartosc_meta, [ ... tu kolejne wartośći meta do postu ..] ); $out =wp_insert_post( $my_post ); // funkcja wp do dodania wpisu foreach($post_meta as $k => $v) { if ( ! add_post_meta( $out, $k, $v, true ) ) { update_post_meta( $out, $k, $v ); } } // funkcje dodające lub zmiejające istniejące meta dane postu
Możemy także dodać obrazy [załączniki] do posta i jego miniaturę korzystając z kodu
$filename = $dir."/".$plik ; // scieżka do pliku $filenameonly = (string) $plik; $wp_upload_dir = wp_upload_dir(); copy($filename, $wp_upload_dir['path']."/import_".$filenameonly); //wp doda zdjęcie [załącznik] jeżeli będzie w katalogu upload dlatego kopiujemy tam nasz plik $newname = $wp_upload_dir['path']."/import_".$filenameonly; $filetype = wp_check_filetype( basename( $filename ), null ); $attachment = array( 'guid' => $wp_upload_dir['url'] . '/' ."import_".$filenameonly, 'post_mime_type' => $filetype['type'], 'post_title' => sanitize_title((string)$nazwa_dla_pliku).preg_replace( '/\.[^.]+$/', '', basename( $filename ) ), 'post_content' => '', 'post_status' => 'inherit' ); $attachment_id = wp_insert_attachment( $attachment, $newname, $post_id ); require_once( ABSPATH . 'wp-admin/includes/image.php' ); $attach_data = wp_generate_attachment_metadata( $attachment_id, $newname ); wp_update_attachment_metadata( $attachment_id, $attach_data ); /możęmy też ustawić nasz plik jako miniaturę wpisu $res2= set_post_thumbnail( $post_id, $attachment_id );