WP-CFM

外掛說明

WP-CFM lets you copy database configuration to / from the filesystem. Easily deploy configuration changes without needing to copy the entire database. WP-CFM is similar to Drupal’s Features module.

How will WP-CFM benefit me?

  • Less need to copy over the entire database.
  • No more rushing to figure out which settings you forgot to change.
  • Easily track and version configuration changes via git, subversion, etc.

Which data does WP-CFM support?

  • WP settings (wp_options table)
  • Multisite settings (wp_sitemeta table)
  • Taxonomy terms
  • Custom Field Suite field groups

Terminology

  • Bundle – A group of (one or more) settings to track
  • Push – Export database settings to the filesystem
  • Pull – Import file-based settings into the database

WP-CLI

WP-CFM supports [pull / push / diff] of bundles from the command-line using WP-CLI:

wp config pull [bundle_name]
wp config push [bundle_name]
wp config diff [bundle_name]
wp config bundles
wp config show_bundle [bundle_name]

You can optionally set bundle_name to “all” to include all bundles.

Append the --network flag to include multisite bundles.

Filters

See the filters reference page at the GitHub Wiki.

螢幕擷圖

  • The admin management interface
  • Editing a configuration "bundle"
  • Diff viewer to track changes within a bundle

安裝方式

  1. Download and activate the plugin.
  2. Browse to Settings > WP-CFM to configure.

使用者評論

2016 年 9 月 3 日
Awesome plugin for tracking configuration in version control. I auto import bundles in my test and live environments when deploying from development which saves me a ton of time from having to make the same configuration updates over and over.
2016 年 9 月 3 日
Great plugin, works as advertised. I'm using the plugin to deploy settings and keep them under version control. If it could just save advanced custom fields and page/sub-page structure it would be essential on any site
閱讀全部 7 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈WP-CFM〉的開發相關工作。

參與者

將 WP-CFM 外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.6

  • Improved: Following WordPress best practices. Including CSS and JS scripts for plugin admin page using admin_enqueue_scripts action.
  • New: Filters wpcfm_multi_env and wpcfm_current_env to activate multiple environments functionality.
  • New: Detects Pantheon hosting automatically and activates the multiple environments functionality. Registers out of the box dev, test and live for Pantheon.
  • New: Filter wpcfm_is_ssot adds capability to set configuration bundles as the Single Source of Truth (SSOT), rather than the database, for all tracked options.

1.5.1

  • Fix: Tested with latest WordPress 5.2.1. Removing the plugin outdated notice at WordPress.org plugin repository.

1.5

  • New: Toggle to show/hide already registered options (props @mickaelperrin)
  • New: wpcfm_config_format filter allow export configuration as YAML files (props @mickaelperrin)
  • New: Check configuration file exist before import (props @mickaelperrin)
  • Fix: File bundle properties are not checked (props @mickaelperrin)
  • Fix: Import wp-cfm settings (props @mickaelperrin)
  • Fix: Bad PHP Version comparison (props @mickaelperrin)
  • Fix: Undefined constant WPCFM_CONFIG_FORMAT_REQUESTED (props @mickaelperrin)
  • Improved: Better Custom Field Suite plugin detection (props @s3ththompson)

1.4.5

  • Fix: only the first taxonomy was showing in the admin UI (props @Rebenton)

1.4.4

  • New: wpcfm_config_dir filter (customize config dir)
  • New: wpcfm_config_url filter (customize config url)
  • Fix: issue with .dot files in config directory
  • Fix: PHP7 warning

1.4.3

  • Fixed: WP-CLI diff (props @mortana42)

1.4.2

  • Fixed: pulls broken due to taxonomy bug
  • Fixed: Custom Field Suite support
  • Improved: code formatting

1.4.1

  • Wrapped CFS integration into a class
  • Removed unnecessary diff code
  • Code formatting tweaks

1.4

  • New: support for taxonomy terms
  • Improved: better usability for response messages
  • Improved: replaced multiselect UI tool
  • Fixed: diff viewer highlighting issues
  • Added screenshots

1.3.2

  • wp-cli diff support (props @joshkoenig)
  • wp-cli show bundles support (props @joshkoenig)
  • wp-cli get bundle details (props @joshkoenig)

1.3.1

  • Fix for bundle deletion
  • Better WP-CLI network support
  • Now using “wp_mkdir_p” to check for writable config folder
  • Updated translations

1.3

  • Multisite support (props @alfreddatakillen)
  • Added download link for each bundle (props @alfreddatakillen)
  • Notification when the same option is stored in multiple bundles
  • Subclasses can be accessed as base class variables
  • Fix: ensure that “old_value” exists
  • Updated translations

1.2

  • Made “diff viewer” close button appear clickable
  • Fixed bug with Custom Field Suite and loop sub-fields

1.1

  • Added support for a config option label
  • Added get_facet_by_name helper method
  • Admin UI now recognizes file bundles
  • Better error handling

1.0.5

  • Synchronize bundle config options list with file during Pull

1.0.4

  • Added i18n support
  • Fallback for JSON_PRETTY_PRINT when PHP < 5.4
  • Fixed PHP notices when doing Pulls
  • Excluded some unnecessary CFS config options

1.0.3

  • Added relative plugin URL (props @tormjens)
  • Added subtle admin screen animations
  • Better file error handling
  • CFS integration – each field group now has its own configuration item
  • Added wpcfm_pull_callback filter
  • Moved the “all” bundle handler from the ajax class to readwrite

1.0.2

  • Fix: error when Custom Field Suite isn’t active

1.0.1

  • Custom Field Suite integration