Добавление сообщений с миниатюрами программно в WordPress - PullRequest
10 голосов
/ 20 апреля 2010

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

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

Ответы [ 3 ]

14 голосов
/ 27 апреля 2010

Извлечение wp_insert_attachment(), находится в wp-includes / post.php ( Статья Кодекса ).

Итак, вы сначала создаете свое сообщение, используя 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.

5 голосов
/ 05 марта 2011

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

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...