Author Mapping preserves WordPress author information when syncing to Shopify, storing rich author data in metafields for display on your Shopify storefront.
Why Author Mapping Matters
Shopify has limited native author support:
- Simple text field for author name
- No author profiles or archives
- No author images or bios
WordPress has robust author features:
- Full user profiles
- Author bios and images
- Social media links
- Author archive pages
- Role-based permissions
Author Mapping bridges this gap by storing WordPress author data in Shopify metafields.
How It Works
Data Flow
WordPress User Profile
│
├── Display Name
├── Bio/Description
├── Profile Picture
├── Email
├── Website
└── Social Links
│
▼
Wash: Blog Manager Sync
│
▼
Shopify Article Metafields
│
├── wash.author_name
├── wash.author_bio
├── wash.author_image
├── wash.author_email
├── wash.author_url
└── wash.author_social
Metafield Structure
| Metafield Key | Type | Description |
|---|---|---|
author_name | Single line text | Display name |
author_bio | Multi-line text | Author biography |
author_image | File reference | Profile picture |
author_email | Single line text | Contact email |
author_url | URL | Author website |
author_social | JSON | Social media links |
author_id | Integer | WordPress user ID |
author_slug | Single line text | URL-safe identifier |
Enabling Author Mapping
Step 1: Enable in Settings
- Go to Wash: Blog Manager > Settings
- Find Author Mapping section
- Toggle Enable Author Mapping to On
- Select which fields to sync
Step 2: Configure Field Mappings
Choose which WordPress fields to sync:
┌─────────────────────────────────────────────────┐
│ Author Mapping Configuration │
├─────────────────────────────────────────────────┤
│ ☑ Display Name → author_name │
│ ☑ Biographical Info → author_bio │
│ ☑ Profile Picture → author_image │
│ ☐ Email (private) → author_email │
│ ☑ Website → author_url │
│ ☑ Social Media Links → author_social │
└─────────────────────────────────────────────────┘
Step 3: Create Metafield Definitions
Wash: Blog Manager automatically creates metafield definitions in Shopify:
- Go to Shopify Admin > Settings > Custom data
- Click Articles
- Verify Wash: Blog Manager definitions exist
Or create manually:
| Name | Namespace and key | Type |
|---|---|---|
| Author Name | wash.author_name | Single line text |
| Author Bio | wash.author_bio | Multi-line text |
| Author Image | wash.author_image | File |
| Author URL | wash.author_url | URL |
Step 4: Test Sync
- Create or update a post in WordPress
- Trigger sync
- Check article metafields in Shopify
Displaying Authors in Shopify
Theme Customization
Add author display to your article template. Edit article.liquid:
{% comment %} Author Information {% endcomment %}
<div class="article-author">
{% if article.metafields.wash.author_image %}
<img
src="{{ article.metafields.wash.author_image | image_url }}"
alt="{{ article.metafields.wash.author_name }}"
class="author-avatar"
>
{% endif %}
<div class="author-info">
<span class="author-name">
{{ article.metafields.wash.author_name | default: article.author }}
</span>
{% if article.metafields.wash.author_bio %}
<p class="author-bio">
{{ article.metafields.wash.author_bio }}
</p>
{% endif %}
{% if article.metafields.wash.author_url %}
<a href="{{ article.metafields.wash.author_url }}" class="author-website">
Website
</a>
{% endif %}
</div>
</div>
Social Links Display
Display social media links from JSON metafield:
{% assign social = article.metafields.wash.author_social %}
{% if social %}
<div class="author-social">
{% if social.twitter %}
<a href="https://twitter.com/{{ social.twitter }}">Twitter</a>
{% endif %}
{% if social.linkedin %}
<a href="{{ social.linkedin }}">LinkedIn</a>
{% endif %}
{% if social.instagram %}
<a href="https://instagram.com/{{ social.instagram }}">Instagram</a>
{% endif %}
</div>
{% endif %}
Styling Example
.article-author {
display: flex;
align-items: flex-start;
gap: 1rem;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 8px;
margin: 2rem 0;
}
.author-avatar {
width: 64px;
height: 64px;
border-radius: 50%;
object-fit: cover;
}
.author-name {
font-weight: 600;
font-size: 1.1rem;
display: block;
margin-bottom: 0.5rem;
}
.author-bio {
color: #6c757d;
font-size: 0.9rem;
line-height: 1.5;
}
.author-social a {
margin-right: 1rem;
color: #0d6efd;
text-decoration: none;
}
Advanced Configuration
Multiple Authors
For posts with multiple authors (via plugin):
WordPress Post
├── Primary Author: John Smith
└── Co-Authors: Jane Doe, Bob Johnson
Shopify Metafields
├── wash.author_name: "John Smith"
├── wash.author_bio: "John's bio..."
└── wash.co_authors: [
{"name": "Jane Doe", "bio": "..."},
{"name": "Bob Johnson", "bio": "..."}
]
Author Archives
Create pseudo-archive pages using Shopify collections or pages:
- Create a page for each author
- Use metaobjects to store author info
- Display articles filtered by author metafield
Custom Author Fields
Map custom WordPress user meta:
WordPress User Meta Shopify Metafield
─────────────────────────────────────────────
job_title → wash.author_title
company → wash.author_company
expertise → wash.author_expertise
Configure in Wash: Blog Manager > Settings > Author Mapping > Custom Fields.
Managing Authors
Author List
View all synced authors:
- Go to Wash: Blog Manager > Authors
- See list of WordPress users with synced content
- View per-author article counts
Update Author Info
When WordPress user profile changes:
- Edit user profile in WordPress
- Changes sync automatically on next article sync
- Or trigger manual author sync
Privacy Considerations
Do NOT sync:- Email addresses (unless public)
- Private notes
- Admin-only fields
- Go to Wash: Blog Manager > Settings > Author Mapping
- Uncheck sensitive fields
- Save settings
Troubleshooting
Author Not Syncing
Check:- Author mapping is enabled
- User has published posts
- Metafield definitions exist in Shopify
Profile Picture Not Appearing
Check:- User has Gravatar or uploaded image
- Image sync is enabled
- File uploaded to Shopify successfully
Metafields Not Showing in Theme
Check:- Metafield definitions are correct
- Liquid syntax is correct
- Field names match exactly (case-sensitive)
JSON Parse Errors
For social links:- Ensure valid JSON format
- Check for special characters
- Verify field type is JSON in Shopify
Best Practices
- Keep bios concise - Shopify displays work best with short bios
- Use consistent formatting - Standardize author profiles in WordPress
- Update regularly - Keep author info current
- Test display - Preview on multiple devices
- Consider privacy - Only sync public information