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 );