Intereting Posts
Сообщение от front-end только при входе в систему, в форме сообщений как "отправлено: <имя пользователя в logged-in пользователя>" Есть ли приложение, которое я могу использовать для защиты документов? Расширение «Добавить медиа» -Dialog … как я, наконец, вставляю что-то в сообщение? Количество боковых панелей версии Admin WordPress скрывает поля имени пользователя и пароля на странице входа Избегание «Использование прямого вызова базы данных не рекомендуется» Мой виджет не печатает before_widgets и после виджетов показанное изображение не отображается Постоянная ссылка по имени сообщения не работает заполнять почтовые мета в гравитационных формах Как добавить метасимвол по умолчанию для предотвращения ошибки? Два разных условия с одним WP_Query Тот же адрес электронной почты для всех комментариев Вызовите настраиваемое поле в пункт меню Ошибка HTTP 500 после создания короткого кода

Использовать вложение в нескольких сообщениях

У меня есть вложение в сообщение, и я хочу прикрепить его к другому сообщению, не отсоединяя его от первого сообщения, используя WP API.

Solutions Collecting From Web of "Использовать вложение в нескольких сообщениях"

Когда внутри медиафайлов, загруженных на экран редактирования сообщений, просто найдите ранее прикрепленные носители и вставьте их в новое сообщение.

Связь между сообщениями и вложениями сохраняется в базе данных. Хотя вложение может принадлежать только одному сообщению, оно все равно может быть встроено во многие сообщения без беспокойства.

Это не так просто сделать. В моем поле изменения кода post_parent из вложения с новым идентификатором сообщения.

 //take all image-attachments from a post to create post for each $images =& get_children( array ( 'post_parent' => $event_id, 'post_type' => 'attachment', 'post_mime_type' => 'image' )); if ( empty($images) ) { // no attachments here } else { //handle each attachment foreach ( $images as $attachment_id => $attachment ) { $this->addPost( $post_id, $attachment_id, $attachment ); } .... ... function addPost($post_id, $attach_id, $attach) { // Create post object $new_post = array( 'post_title' => 'title', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'post' ); // Insert the post into the database // create new post that want to reattach the attatchment $this->unhookFromSavePost(); // see http://codex.wordpress.org/Plugin_API/Action_Reference/save_post#Avoiding_infinite_loops $new_post_id = wp_insert_post( $new_post ); //get post's id $this->hookToSavePost(); $attach->post_parent = $new_post_id; // post_id $newAddedAttachment = wp_insert_attachment( $attach ); 

Если вы хотите дублировать вложение и использовать его в большем количестве сообщений, вам необходимо выполнить следующие шаги: wp_insert_attachment. Также возможно скопировать $ attach в новый объект, но вам нужно отключить свойство ID этого объекта.

 $new_attach = $attach; $new_attach->post_parent = $new_post_id; unset($new_attach[0]); // unset first property or unset($new_attach[ID]); wp_insert_attachment( $new_attach); с $new_attach = $attach; $new_attach->post_parent = $new_post_id; unset($new_attach[0]); // unset first property or unset($new_attach[ID]); wp_insert_attachment( $new_attach);