Добавление сообщений с миниатюрами программно в 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/