Author Mapping

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 KeyTypeDescription
author_nameSingle line textDisplay name
author_bioMulti-line textAuthor biography
author_imageFile referenceProfile picture
author_emailSingle line textContact email
author_urlURLAuthor website
author_socialJSONSocial media links
author_idIntegerWordPress user ID
author_slugSingle line textURL-safe identifier

Enabling Author Mapping

Step 1: Enable in Settings

  1. Go to Wash: Blog Manager > Settings
  2. Find Author Mapping section
  3. Toggle Enable Author Mapping to On
  4. 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:

  1. Go to Shopify Admin > Settings > Custom data
  2. Click Articles
  3. Verify Wash: Blog Manager definitions exist

Or create manually:

NameNamespace and keyType
Author Namewash.author_nameSingle line text
Author Biowash.author_bioMulti-line text
Author Imagewash.author_imageFile
Author URLwash.author_urlURL

Step 4: Test Sync

  1. Create or update a post in WordPress
  2. Trigger sync
  3. 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:

  1. Create a page for each author
  2. Use metaobjects to store author info
  3. 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:

  1. Go to Wash: Blog Manager > Authors
  2. See list of WordPress users with synced content
  3. View per-author article counts

Update Author Info

When WordPress user profile changes:

  1. Edit user profile in WordPress
  2. Changes sync automatically on next article sync
  3. Or trigger manual author sync

Privacy Considerations

Do NOT sync:
  • Email addresses (unless public)
  • Private notes
  • Admin-only fields
Configure privacy:
  1. Go to Wash: Blog Manager > Settings > Author Mapping
  2. Uncheck sensitive fields
  3. 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

  1. Keep bios concise - Shopify displays work best with short bios
  2. Use consistent formatting - Standardize author profiles in WordPress
  3. Update regularly - Keep author info current
  4. Test display - Preview on multiple devices
  5. Consider privacy - Only sync public information

Related Documentation