PHPackages                             pantheon-systems/pantheon-content-publisher-wordpress - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pantheon-systems/pantheon-content-publisher-wordpress

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

pantheon-systems/pantheon-content-publisher-wordpress
=====================================================

Publish WordPress content from Google Docs with Pantheon Content Cloud.

1.3.5(2mo ago)404[26 issues](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/issues)[11 PRs](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/pulls)PHPPHP &gt;=8.1CI passing

Since Jul 23Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress)[ Packagist](https://packagist.org/packages/pantheon-systems/pantheon-content-publisher-wordpress)[ RSS](/packages/pantheon-systems-pantheon-content-publisher-wordpress/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (14)Versions (98)Used By (0)

Pantheon Content Publisher for WordPress
========================================

[](#pantheon-content-publisher-for-wordpress)

**Contributors:** [getpantheon](https://profiles.wordpress.org/getpantheon/), [a11rew](https://profiles.wordpress.org/a11rew), [anaispantheor](https://profiles.wordpress.org/anaispantheor/), [roshnykunjappan](https://profiles.wordpress.org/roshnykunjappan/), [mklasen](https://profiles.wordpress.org/mklasen/), [jazzs3quence](https://profiles.wordpress.org/jazzs3quence/), [swb1192](https://profiles.wordpress.org/swb1192)**Tags:** pantheon, content, google docs, acf **Requires at least:** 5.7
**Tested up to:** 6.9
**Stable tag:** 1.4.0-dev
**Requires PHP:** 8.1.0
**License:** GPLv2 or later
**License URI:**

[![Actively Maintained](https://camo.githubusercontent.com/2ae5ff81f271fb028d720adee6b3595770166f3707a4705a4a2a3b71c332b249/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50616e7468656f6e2d4163746976656c795f4d61696e7461696e65642d79656c6c6f773f6c6f676f3d70616e7468656f6e26636f6c6f723d464644433238)](https://pantheon.io/docs/oss-support-levels#actively-maintained-support)

 [ ![Plugin Logo](assets/images/pantheon-fist-logo.svg) ](https://pcc.pantheon.io/)

### Pantheon Content Publisher

[](#pantheon-content-publisher)

 *Publish WordPress content from Google Docs with Pantheon Content Cloud.*
 [Report bug](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/issues/new?template=bug_report.md&labels=bug) · [Request feature](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/issues/new?template=feature_request.md&labels=feature) · [Check out PCC Docs](https://pcc.pantheon.io/docs)

[![Style Lint](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/actions/workflows/php-style-lint.yml/badge.svg)](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/actions/workflows/php-style-lint.yml)[![PHP Compatibility 8.x](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/actions/workflows/php-version-compatibility.yml/badge.svg)](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/actions/workflows/php-version-compatibility.yml)

Table of contents
-----------------

[](#table-of-contents)

- [Table of contents](#table-of-contents)
- [Quick start](#quick-start)
- [Custom post types](#custom-post-types)
- [ACF Integration](#acf-integration)
- [Development](#development)
- [Repository Actions](#repository-actions)
- [Requirements](#requirements)
- [Bugs and feature requests](#bugs-and-feature-requests)
- [Documentation](#documentation)
- [Versioning](#versioning)
- [Changelog](#changelog)

Quick start
-----------

[](#quick-start)

The Pantheon Content Publisher plugin can be installed like any other WordPress Plugin, from your WordPress Dashboard, go to Plugins -&gt; Add Plugin and search for: Pantheon Content Publisher, click the Install Now button and then click Activate.

After the plugin is active, set up your connection to Pantheon Content Publisher and Google Drive via the settings page in the WordPress admin dashboard.

Alternately you can download and install the plugin manually:

- [Download the latest release.](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/releases/)

or

- Clone the repo: `git clone https://github.com/pantheon-systems/pantheon-content-publisher-wordpress.git` in your `wp-content/plugins`folder

***or soon***

- Install via Composer: `composer require pantheon-systems/pantheon-content-publisher-wordpress`

***If installing from source, make sure to follow the build instructions in the [Development](#development) section below***

Custom post types
-----------------

[](#custom-post-types)

The plugin supports publishing content to any public post type registered on your WordPress site, not just the default Post and Page types.

For more details on configuring WordPress with Content Publisher, see the [WordPress Tutorial](https://docs.content.pantheon.io/wordpress-tutorial#h.dsdditst2j75).

### Selecting a post type

[](#selecting-a-post-type)

When creating or editing a collection in the plugin settings, you can choose which WordPress post type the collection's documents should be published as. The dropdown lists all public post types available on your WordPress site.

You can also select **"Chosen by the author"** to allow document authors to control the post type on a per-document basis using the `wp-post-type` metadata field.

### The `wp-post-type` metadata field

[](#the-wp-post-type-metadata-field)

When a collection is configured with "Chosen by the author", the plugin reads a metadata field called **`wp-post-type`** from each document to determine which post type to use.

To set the post type for a document, add a metadata field in the Content Publisher dashboard (or the Google Docs add-on) with the system name `wp-post-type`. The value should be the slug of the desired post type (e.g. `post`, `page`).

The list of allowed values must be configured manually by the administrator in the Content Publisher dashboard or the Google Docs add-on. The plugin does not automatically synchronize the available post types.

### Fallback behavior

[](#fallback-behavior)

The plugin falls back to the default `post` type in the following cases:

1. The collection is set to "Chosen by the author" but the document does not have a `wp-post-type` metadata field.
2. The `wp-post-type` metadata field is present but empty.
3. The `wp-post-type` value does not match any public post type registered on the WordPress site.

Changing the post type setting on a collection only affects future publishes and does not modify previously published content.

ACF Integration
---------------

[](#acf-integration)

The plugin can sync Content Publisher metadata fields to [Advanced Custom Fields (ACF)](https://www.advancedcustomfields.com/). When a document is published, mapped ACF fields are automatically populated with the corresponding metadata values.

### Requirements

[](#requirements)

The ACF plugin (free or Pro) must be installed and active. If ACF is not detected, the Integration tab displays a warning and mappings are skipped during publish.

### Configuring field mappings

[](#configuring-field-mappings)

1. Navigate to **Settings &gt; Pantheon Content Publisher** in the WordPress admin.
2. Click the **Integration** tab.
3. Select a **post type tab** — each tab shows ACF fields from the field groups assigned to that post type.
4. For each ACF field you want to map, enter the **exact Content Publisher metadata field name** in the text input. Field names are **case-sensitive** and must match exactly as defined in your Content Publisher collection.
5. Leave a field blank to skip it.
6. Click **Save Mapping**.

Mappings are scoped per post type. When a document is published, only the mappings for the target post type are applied.

### Error visibility

[](#error-visibility)

Sync errors (missing metadata fields, unresolved users, ACF inactive) are displayed in the Integration tab under a "Errors from last sync" banner. Errors auto-clear after one hour.

Development
-----------

[](#development)

1. `composer i && npm i` to install dependencies.
2. `npm run watch` / `npm run dev` / `npm run prod` to build assets. Since version 1.3.0 `npm run build:vite` to build assets and dist/build folder.
3. Read through our [contributing guidelines](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/blob/main/.github/CONTRIBUTING.md)for additional information. Included are directions for opening issues, coding standards and miscellaneous notes.

Repository Actions
------------------

[](#repository-actions)

This repository takes advantage of the following workflows to automate the release &amp; testing processes:

- [PHPCS](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/blob/main/.github/workflows/php-style-lint.yml)
- [PHPCompatibility](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/blob/main/.github/workflows/php-version-compatibility.yml)
- [Release Drafter](https://github.com/marketplace/actions/release-drafter)
- [PR Labeler](https://github.com/marketplace/actions/pr-labeler)
- [A custom workflow that builds release artifacts](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/blob/main/.github/workflows/release-artifact.yml)

These workflows will build a release draft and keep it up-to-date as new PRs are merged. Once a release is published, a ready-to-install zip file will be generated and attached to the newly-published release. To take advantage of these automations, make sure to read the available config files and workflow recipes, available in the `.github` folder in the root of this repository.

Examples: *(read the config files for full configuration)*

- `feature/` or `feat/` adds the `feature` label to your PR
- PRs labeled `feature` will be categorized in the "🚀 Features" section of the release
- PRs labeled `major`/`minor`/`patch` will bump the major/minor/patch version number of the release

Requirements
------------

[](#requirements-1)

Pantheon Content Publisher is dependent on:

- Minimum **PHP** version **8.1**
- Minimum **WordPress** version **5.7**

Bugs and feature requests
-------------------------

[](#bugs-and-feature-requests)

Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/blob/main/.github/CONTRIBUTING.md#using-the-issue-tracker)and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/issues/new).

Documentation
-------------

[](#documentation)

Documentation is available at [pcc.pantheon.io/docs](https://pcc.pantheon.io/docs).

Versioning
----------

[](#versioning)

For transparency into our release cycle and in striving to maintain backward compatibility, Pantheon Content Publisher is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we adhere to those rules whenever possible.

Changelog
---------

[](#changelog)

You may find changelogs for each version of Pantheon Content Publisher released in [the Releases section](https://github.com/pantheon-systems/pantheon-content-publisher-wordpress/releases) of this repository.

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance68

Regular maintenance activity

Popularity7

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Recently: every ~30 days

Total

27

Last Release

69d ago

Major Versions

v0.10.0 → v1.0.02024-07-26

PHP version history (3 changes)v0.9.9PHP &gt;=8.2

v0.9.10PHP &gt;=8

1.3.4PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a89f5f15357797cbd6ec7833a28626478ae3c0ceb5fa1faa8a26d0960584c65?d=identicon)[pantheon-systems](/maintainers/pantheon-systems)

![](https://www.gravatar.com/avatar/af6c0ce1d250a8a8edc57b4759dabc3d5f7956fc105450bba7fc5d2eb5b74362?d=identicon)[jazzsequence](/maintainers/jazzsequence)

---

Top Contributors

[![bafi](https://avatars.githubusercontent.com/u/3964752?v=4)](https://github.com/bafi "bafi (144 commits)")[![al-esc](https://avatars.githubusercontent.com/u/7956092?v=4)](https://github.com/al-esc "al-esc (114 commits)")[![a11rew](https://avatars.githubusercontent.com/u/87580113?v=4)](https://github.com/a11rew "a11rew (74 commits)")[![AnaisPantheor](https://avatars.githubusercontent.com/u/208500581?v=4)](https://github.com/AnaisPantheor "AnaisPantheor (33 commits)")[![mklasen](https://avatars.githubusercontent.com/u/6398853?v=4)](https://github.com/mklasen "mklasen (20 commits)")[![jazzsequence](https://avatars.githubusercontent.com/u/991511?v=4)](https://github.com/jazzsequence "jazzsequence (6 commits)")[![pwtyler](https://avatars.githubusercontent.com/u/8714062?v=4)](https://github.com/pwtyler "pwtyler (5 commits)")[![kevinstubbs](https://avatars.githubusercontent.com/u/454916?v=4)](https://github.com/kevinstubbs "kevinstubbs (4 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![renjithvwarrier](https://avatars.githubusercontent.com/u/185923697?v=4)](https://github.com/renjithvwarrier "renjithvwarrier (4 commits)")[![scottbuscemi](https://avatars.githubusercontent.com/u/4336848?v=4)](https://github.com/scottbuscemi "scottbuscemi (1 commits)")[![kiranJ-pantheon](https://avatars.githubusercontent.com/u/182726246?v=4)](https://github.com/kiranJ-pantheon "kiranJ-pantheon (1 commits)")

---

Tags

pluginwordpress

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pantheon-systems-pantheon-content-publisher-wordpress/health.svg)

```
[![Health](https://phpackages.com/badges/pantheon-systems-pantheon-content-publisher-wordpress/health.svg)](https://phpackages.com/packages/pantheon-systems-pantheon-content-publisher-wordpress)
```

###  Alternatives

[afragen/git-updater

A plugin to automatically update GitHub, Bitbucket, GitLab, or Gitea hosted plugins, themes, and language packs.

3.3k1.6k](/packages/afragen-git-updater)[webdevstudios/cmb2-attached-posts

Custom field for CMB2 for creating post relationships.

13565.5k](/packages/webdevstudios-cmb2-attached-posts)[appsero/client

Appsero Client

25431.7k9](/packages/appsero-client)[boxybird/inertia-wordpress

The WordPress adapter for Inertia.js

1827.4k](/packages/boxybird-inertia-wordpress)[iceicetimmy/acf-post-type-selector

Post type selector for Advanced Custom Fields.

559.0k](/packages/iceicetimmy-acf-post-type-selector)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
