2010-04-20 3 views
10

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

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

ответ

14

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

Так вы создаете свой пост первый, используя wp_insert_post(), а затем прикрепить файл, то вроде этого (модифицировал Кодекс):

<?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.

+1

Спасибо! Интересно, почему это еще не документировано. –

+0

Не могу поверить, я пропустил это и 3 часа! благодаря ;) –

5

После того, как вы вставляете сообщение и вложение с помощью функций 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 по умолчанию для изменения размера миниатюр и т. Д.

1

Есть 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/

 Смежные вопросы

  • Нет связанных вопросов^_^