Inpsyde\MultilingualPress\SiteDuplication\AttachmentCopier::copy_attachments PHP Метод

copy_attachments() публичный Метод

Copies all attachment files of the site with given ID to the current site.
С версии: 3.0.0
public copy_attachments ( integer $source_site_id ) : boolean
$source_site_id integer Source site ID.
Результат boolean Whether or not any attachment files were copied.
    public function copy_attachments($source_site_id);

Usage Example

Пример #1
0
 /**
  * Duplicates a complete site to the new site just created.
  *
  * @since 3.0.0
  *
  * @param int $new_site_id The ID of the new site.
  *
  * @return bool Whether or not a site was duplicated successfully.
  */
 public function duplicate_site($new_site_id)
 {
     if (empty($_POST['blog']['basedon']) || 1 > $_POST['blog']['basedon']) {
         return false;
     }
     $source_site_id = (int) $_POST['blog']['basedon'];
     // Switch to the source site.
     switch_to_blog($source_site_id);
     $table_prefix = $this->db->prefix;
     $mapped_domain = $this->get_mapped_domain();
     // Switch to the new site.
     switch_to_blog($new_site_id);
     $admin_email = get_option('admin_email');
     $siteurl = get_option('siteurl');
     // Important: FIRST, duplicate the tables, and THEN overwrite things. ;)
     $this->duplicate_tables($source_site_id, $table_prefix);
     $this->set_urls($siteurl, $mapped_domain);
     $this->set_admin_email($admin_email);
     update_option('blogname', stripslashes($_POST['blog']['title']));
     $this->rename_user_roles_option($table_prefix);
     // Set the search engine visibility.
     if (isset($_POST['blog']['visibility'])) {
         update_option('blog_public', (bool) $_POST['blog']['visibility']);
     }
     $this->handle_plugins();
     $this->handle_theme();
     $this->handle_content_relations($source_site_id, $new_site_id);
     $this->attachment_copier->copy_attachments($source_site_id);
     // Switch all the way back to the original site.
     restore_current_blog();
     restore_current_blog();
     /**
      * Fires after successful site duplication.
      *
      * @since 3.0.0
      *
      * @param int $source_site_id The ID of the source site.
      * @param int $new_site_id    The ID of the new site.
      */
     do_action('multilingualpress.duplicated_site', $source_site_id, $new_site_id);
     return true;
 }
AttachmentCopier