Добавление сообщений с миниатюрами программно в WordPress

Я знаю, что могу использовать wp_insert_post() в WordPress для программного добавления постов, но я хочу добавить посты с миниатюрой, и в этом отношении также изменить размер/обрезать фотографию поста до правильных размеров WordPress.

Возможно ли все это программно или мне нужно выполнить какую-то работу вручную (например, изменение размера/обрезка)?

Ответ 1

Отъезд wp_insert_attachment(), найденный в wp-includes/post.php(статья Codex).

Итак, сначала создайте свой пост, используя wp_insert_post(), затем прикрепите файл, несколько как это (измените Codex):

<?php 
    $post_id = wp_insert_post( $my_post_data ); 

    $attach_id = wp_insert_attachment( $attachment, $filename, $post_id );
    $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
    wp_update_attachment_metadata( $attach_id,  $attach_data );
?>

Что касается изменения размера изображения/обрезки, если вы перейдете к настройкам вашего медиафайла (yoursite.com/wp-admin/options-media.php), вы можете определить собственные размеры для своих изображений. Возможно, вы не так прочны, как хотите, но если вы интегрируете вывод с чем-то вроде TimThumb Script, вы можете приблизиться к тому, что вы ищете.

Чтобы просмотреть все переменные, которые имеет функция, прочитайте прокомментированную информацию в post.php.

Ответ 2

После того, как вы вставляете сообщение и вложение с помощью функций wordpress wp_insert_post и wp_insert_attachment, вы можете добавить миниатюру к сообщению с помощью _thumbnail_id с идентификатором вложения, если ваша тема поддерживает эскизы сообщений.

// $post_id = wp_insert_post(...)
// $attach_id = wp_insert_attachment(...)

add_post_meta($post_id, '_thumbnail_id', $attach_id, true);

Таким образом вы сможете использовать функции Wordpress по умолчанию для изменения размера эскизов и т.д.

Ответ 3

Есть 2 статьи, которые были написаны с момента вашего вопроса. Оба варианта предлагают несколько разные решения вашей проблемы. Надеюсь, это поможет кому-то:

Программный импорт тысяч значков изображений в WordPress http://www.zdnet.com/blog/diy-it/programmatically-importing-thousands-of-featured-image-post-thumbnails-into-wordpress/118

Как: Загружать медиа через URL-адрес программно в WordPress http://theme.fm/2011/10/how-to-upload-media-via-url-programmatically-in-wordpress-2657/