wp media
Imports files as attachments, regenerates thumbnails, or lists registered image sizes.
Commands | Description |
---|---|
wp media regenerate | Regenerates thumbnails for one or more attachments. |
wp media import | Creates attachments from local files or URLs. |
wp media image-size | Lists image sizes registered with WordPress. |
Examples
# Re-generate all thumbnails, without confirmation. $ wp media regenerate --yes Found 3 images to regenerate. 1/3 Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760). 2/3 Regenerated thumbnails for "Boardwalk" (ID 757). 3/3 Regenerated thumbnails for "Sunburst Over River" (ID 756). Success: Regenerated 3 of 3 images.
# Import a local image and set it to be the featured image for a post. $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image Success: Imported file '/home/person/Downloads/image.png' as attachment ID 1753 and attached to post 123 as featured image.
# List all registered image sizes $ wp media image-size +---------------------------+-------+--------+-------+ | name | width | height | crop | +---------------------------+-------+--------+-------+ | full | | | N/A | | twentyfourteen-full-width | 1038 | 576 | hard | | large | 1024 | 1024 | soft | | medium_large | 768 | 0 | soft | | medium | 300 | 300 | soft | | thumbnail | 150 | 150 | hard | +---------------------------+-------+--------+-------+
Source code of the commands
wp media regenerate
Regenerates thumbnails for one or more attachments.
Usage
wp media regenerate [{attachment-id}...] [--image_size={image_size}] [--skip-delete] [--only-missing] [--yes]
You can specify global options and the following:
- [{attachment-id}...]
- One or more IDs of the attachments to regenerate.
- [--image_size={image_size}]
- Name of the image size to regenerate. Only thumbnails of this image size will be regenerated, thumbnails of other image sizes will not.
- [--skip-delete]
- Skip deletion of the original thumbnails. If your thumbnails are linked from sources outside your control, it's likely best to leave them around. Defaults to false.
- [--only-missing]
- Only generate thumbnails for images missing image sizes.
- [--yes]
- Answer yes to the confirmation message. Confirmation only shows when no IDs passed as arguments.
Examples
# Regenerate thumbnails for given attachment IDs. $ wp media regenerate 123 124 125 Found 3 images to regenerate. 1/3 Regenerated thumbnails for "Vertical Image" (ID 123). 2/3 Regenerated thumbnails for "Horizontal Image" (ID 124). 3/3 Regenerated thumbnails for "Beautiful Picture" (ID 125). Success: Regenerated 3 of 3 images.
# Regenerate all thumbnails, without confirmation. $ wp media regenerate --yes Found 3 images to regenerate. 1/3 Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760). 2/3 Regenerated thumbnails for "Boardwalk" (ID 757). 3/3 Regenerated thumbnails for "Sunburst Over River" (ID 756). Success: Regenerated 3 of 3 images.
# Re-generate all thumbnails that have IDs between 1000 and 2000. $ seq 1000 2000 | xargs wp media regenerate Found 4 images to regenerate. 1/4 Regenerated thumbnails for "Vertical Featured Image" (ID 1027). 2/4 Regenerated thumbnails for "Horizontal Featured Image" (ID 1022). 3/4 Regenerated thumbnails for "Unicorn Wallpaper" (ID 1045). 4/4 Regenerated thumbnails for "I Am Worth Loving Wallpaper" (ID 1023). Success: Regenerated 4 of 4 images.
# Re-generate only the thumbnails of "large" image size for all images. $ wp media regenerate --image_size=large Do you really want to regenerate the "large" image size for all images? [y/n] y Found 3 images to regenerate. 1/3 Regenerated "large" thumbnail for "Sydney Harbor Bridge" (ID 760). 2/3 No "large" thumbnail regeneration needed for "Boardwalk" (ID 757). 3/3 Regenerated "large" thumbnail for "Sunburst Over River" (ID 756). Success: Regenerated 3 of 3 images.
wp media import
Creates attachments from local files or URLs.
Usage
wp media import {file}... [--post_id={post_id}] [--title={title}] [--caption={caption}] [--alt={alt_text}] [--desc={description}] [--skip-copy] [--preserve-filetime] [--featured_image] [--porcelain]
You can specify global options and the following:
- {file}...
- Path to file or files to be imported. Supports the glob(3) capabilities of the current shell. If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be downloaded to a temp file before being sideloaded.
- [--post_id={post_id}]
- ID of the post to attach the imported files to.
- [--title={title}]
- Attachment title (post title field).
- [--caption={caption}]
- Caption for attachent (post excerpt field).
- [--alt={alt_text}]
- Alt text for image (saved as post meta).
- [--desc={description}]
- "Description" field (post content) of attachment post.
- [--skip-copy]
- If set, media files (local only) are imported to the library but not moved on disk.
- [--preserve-filetime]
- Use the file modified time as the post published & modified dates. Remote files will always use the current time.
- [--featured_image]
- If set, set the imported image as the Featured Image of the post its attached to.
- [--porcelain]
- Output just the new attachment ID.
Examples
# Import all jpgs in the current user's "Pictures" directory, not attached to any post. $ wp media import ~/Pictures/**\/*.jpg Imported file '/home/person/Pictures/landscape-photo.jpg' as attachment ID 1751. Imported file '/home/person/Pictures/fashion-icon.jpg' as attachment ID 1752. Success: Imported 2 of 2 items.
# Import a local image and set it to be the post thumbnail for a post. $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image Imported file '/home/person/Downloads/image.png' as attachment ID 1753 and attached to post 123 as featured image. Success: Imported 1 of 1 images.
# Import a local image, but set it as the featured image for all posts. # 1. Import the image and get its attachment ID. # 2. Assign the attachment ID as the featured image for all posts. $ ATTACHMENT_ID="$(wp media import ~/Downloads/image.png --porcelain)" $ wp post list --post_type=post --format=ids | xargs -d ' ' -I % wp post meta add % _thumbnail_id $ATTACHMENT_ID Success: Added custom field. Success: Added custom field.
# Import an image from the web. $ wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing" Imported file 'http://s.wordpress.org/style/images/wp-header-logo.png' as attachment ID 1755. Success: Imported 1 of 1 images.
# Get the URL for an attachment after import. $ wp media import http://s.wordpress.org/style/images/wp-header-logo.png --porcelain | xargs -I {} wp post list --post__in={} --field=url --post_type=attachment http://wordpress-develop.dev/wp-header-logo/
wp media image-size
Lists image sizes registered with WordPress.
Usage
wp media image-size [--fields={fields}] [--format={format}]
You can specify global options and the following:
- [--fields={fields}]
- Limit the output to specific fields. Defaults to all fields.
- [--format={format}]
Render output in a specific format
Default: table
Can be:- table
- json
- csv
- yaml
- count
Available fields
These fields will be displayed by default for each image size:
- name
- width
- height
- crop
- ratio
Examples
# List all registered image sizes $ wp media image-size +---------------------------+-------+--------+-------+-------+ | name | width | height | crop | ratio | +---------------------------+-------+--------+-------+-------+ | full | | | N/A | N/A | | twentyfourteen-full-width | 1038 | 576 | hard | 173:96| | large | 1024 | 1024 | soft | N/A | | medium_large | 768 | 0 | soft | N/A | | medium | 300 | 300 | soft | N/A | | thumbnail | 150 | 150 | hard | 1:1 | +---------------------------+-------+--------+-------+-------+