PHPackages                             plugin/pdc-base - 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. plugin/pdc-base

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

plugin/pdc-base
===============

PDC Base plugin

v3.18.1(3mo ago)22.0k↓34.5%7[4 PRs](https://github.com/OpenWebconcept/plugin-pdc-base/pulls)1PHPPHP ^7.4|^8.0

Since Apr 30Pushed 2mo ago4 watchersCompare

[ Source](https://github.com/OpenWebconcept/plugin-pdc-base)[ Packagist](https://packagist.org/packages/plugin/pdc-base)[ RSS](/packages/plugin-pdc-base/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (174)Used By (1)

Plugin OpenPDC Base
===================

[](#plugin-openpdc-base)

This repository contains the the OpenwebConcept OpenPDC plugin.

Installation
------------

[](#installation)

Before installation, make sure you install following required plugins:

- **Meta Box plugin** - Either:
    - [RWMB Metabox (free version)](https://wordpress.org/plugins/meta-box/) plus [Meta Box Group extension](https://wordpress.org/plugins/meta-box-group/), OR
    - [Meta Box AIO (premium version)](https://metabox.io/pricing/) - The all-in-one premium package that includes all Meta Box extensions
- [Posts 2 Posts](https://wordpress.org/plugins/posts-to-posts/)

### For users

[](#for-users)

1. Download the latest release from [the releases page](https://github.com/OpenWebconcept/plugin-pdc-base/releases)
2. Unzip and move all files to the `/wp-content/plugins/pdc-base` directory.
3. Log into the WordPress admin and activate the 'Yard | OpenPDC Base' plugin through the 'plugins' menu
4. Go to the 'PDC instellingen' pagina in the left-hand menu to enter some of the required settings

### For developers

[](#for-developers)

To contribute to this project, no dependencies are required. However, you will need to download [Composer](https://getcomposer.org/) to run tests or create an optimized build of the plugin.

1. Clone this repository to your machine and/or WordPress installation
2. Optionally use Composer (`composer install`) to install the dev dependencies

To create an optimized and zipped build, run the `composer run package` command. This requires `Composer`, `rsync` and `zip` to run.

### Meta Box Requirements

[](#meta-box-requirements)

This plugin supports both the free and premium versions of Meta Box:

**Option 1: Free Meta Box plugins**

- Install [RWMB Metabox](https://wordpress.org/plugins/meta-box/)
- Install [Meta Box Group](https://wordpress.org/plugins/meta-box-group/) extension

**Option 2: Meta Box AIO (Premium)**

- Install [Meta Box AIO](https://metabox.io/pricing/) - includes all Meta Box functionality in one package
- No additional extensions needed

### Activation error(s)?

[](#activation-errors)

When activating the 'PDCBase' plugin is causing the following error:

[![activateplugin-error](./assets/images/pluginactivate-error.png)](./assets/images/pluginactivate-error.png)

Install one of the following Meta Box options:

**Free option:**

- [RWMB Metabox](https://wordpress.org/plugins/meta-box/)
- [Meta Box Group](https://wordpress.org/plugins/meta-box-group/)

**Premium option:**

- [Meta Box AIO](https://metabox.io/pricing/) (includes all extensions)

Also install:

- [Posts 2 Posts](https://wordpress.org/plugins/posts-to-posts/)

Activating the plugin after installation should fix the issue:

[![pluginactivated](./assets/images/pluginactivated.png)](./assets/images/pluginactivated.png)

### Additional Settings

[](#additional-settings)

On the 'PDC instellingen' page there are 2 optional settings for extending the slug used in the 'view in portal' url. The 'view in portal' button can be found in de wp-admin bar on the editor pages of the pdc-items or inside the 'quick edit' blocks on the overview page of pdc-items. With these optional settings the theme and subtheme can be included into the 'view in portal' url.

Additionally, there is a possibility to use a fourth layer called 'pdc-groups'. The hierarchy, when the fourth layer setting is checked, is pdc-theme -&gt; pdc-subtheme -&gt; pdc-group -&gt; pdc-item.

Finally, pdc-items can support multiple identifications for scheduling an appointment. Currently there are meta settings for DigiD, eHerkenning and eIDAS. You can set those values in the editor of a pdc-item.

Connections
-----------

[](#connections)

Some connections between posttypes are required for the portal to work properly. The required connections and in the correct order when filling the website:

1. pdc-theme -&gt; none
2. pdc-subtheme -&gt; pdc-theme
3. pdc-group -&gt; pdc-item, pdc-theme and pdc-subtheme (pdc-groups usage is optional)
4. pdc-item -&gt; pdc-theme, pdc-subtheme

Filters &amp; Actions
---------------------

[](#filters--actions)

There are various [hooks](https://codex.wordpress.org/Plugin_API/Hooks), which allows for changing the output.

### Action for changing main Plugin object.

[](#action-for-changing-main-plugin-object)

```
'owc/pdc-base/plugin'
```

See OWC\\PDC\\Base\\Foundataion\\Config-&gt;set method for a way to change this plugins config.

Via the plugin object the following config settings can be adjusted

- metaboxes
- p2p\_connections
- posttypes
- rest\_api\_fields
- settings
- settings\_pages
- taxonomies

### Filters the Posts to Posts connection defaults.

[](#filters-the-posts-to-posts-connection-defaults)

```
owc/pdc-base/p2p-connection-defaults
```

### Filters the per Posts to Posts connection, connection type args.

[](#filters-the-per-posts-to-posts-connection-connection-type-args)

```
owc/pdc-base/before-register-p2p-connection/{$posttypes_from}/{$posttypes_to]}
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field)

```
owc/pdc-base/rest-api/pdcitem/field/get-links
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-1)

```
owc/pdc-base/rest-api/pdcitem/field/get-forms
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-2)

```
owc/pdc-base/rest-api/pdcitem/field/get-downloads
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-3)

```
owc/pdc-base/rest-api/pdcitem/field/get-title-alternative
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-4)

```
owc/pdc-base/rest-api/pdcitem/field/get-appointment
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-5)

```
owc/pdc-base/rest-api/pdcitem/field/get-featured_image
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-6)

```
owc/pdc-base/rest-api/pdcitem/field/get-taxonomies
owc/pdc-base/core/posttype/posttypes/pdc_item/get-taxonomies/taxonomy-ids
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-7)

```
owc/pdc-base/rest-api/pdcitem/field/get-connections
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-8)

```
owc/pdc-base/rest-api/pdcsubcategory/field/has-report
```

### Filters the data retrieved for this Rest API field.

[](#filters-the-data-retrieved-for-this-rest-api-field-9)

```
owc/pdc-base/rest-api/pdcsubcategory/field/has-appointment
```

### Filters the metaboxes to be registered just before registration.

[](#filters-the-metaboxes-to-be-registered-just-before-registration)

```
owc/pdc-base/before-register-metaboxes
```

### Filters the settings to be registered just before registration.

[](#filters-the-settings-to-be-registered-just-before-registration)

```
owc/pdc-base/before-register-settings
```

#### Allow additional actions before and after the creation of a featured image.

[](#allow-additional-actions-before-and-after-the-creation-of-a-featured-image)

```
owc/pdc-base/rest-api/shared-items/field/before-creation-featured-image
owc/pdc-base/rest-api/shared-items/field/after-creation-featured-image
```

Translations
------------

[](#translations)

If you want to use your own set of labels/names/descriptions and so on you can do so. All text output in this plugin is controlled via the gettext methods.

Please use your preferred way to make your own translations from the /wp-content/plugins/pdc-base/languages/pdc-base.pot file

Be careful not to put the translation files in a location which can be overwritten by a subsequent update of the plugin, theme or WordPress core.

We recommend using the 'Loco Translate' plugin.

This plugin provides an easy interface for custom translations and a way to store these files without them getting overwritten by updates.

For instructions how to use the 'Loco Translate' plugin, we advice you to read the Beginners's guide page on their website: or start at the homepage:

Running tests
-------------

[](#running-tests)

To run the Unit tests go to a command-line.

```
cd /path/to/wordpress/htdocs/wp-content/plugins/pdc-base/
composer install
composer unit
```

For code coverage report, generate report with command line command and view results with browser.

```
composer unit-coverage
```

Contribution guidelines
-----------------------

[](#contribution-guidelines)

### Writing tests

[](#writing-tests)

Have a look at the code coverage reports to see where more coverage can be obtained. Write tests. Create a Pull request to the OWC repository.

### Who do I talk to?

[](#who-do-i-talk-to)

If you have questions about or suggestions for this plugin, please contact [Holger Peters](mailto:hpeters@buren.nl) from Gemeente Buren.

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance84

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 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 ~41 days

Total

125

Last Release

103d ago

Major Versions

1.1 → v2.0.02018-05-24

v2.2.12 → v3.0.02020-08-04

PHP version history (3 changes)1.0PHP &gt;=7.0

v3.6.0PHP ^7.0|^8.0

v3.7.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/62775?v=4)[Anton Zhuravsky](/maintainers/Yard)[@yard](https://github.com/yard)

---

Top Contributors

[![SimonvanWijhe](https://avatars.githubusercontent.com/u/41121933?v=4)](https://github.com/SimonvanWijhe "SimonvanWijhe (66 commits)")[![mvdhoek1](https://avatars.githubusercontent.com/u/11852816?v=4)](https://github.com/mvdhoek1 "mvdhoek1 (47 commits)")[![melvinkoopmans](https://avatars.githubusercontent.com/u/7767354?v=4)](https://github.com/melvinkoopmans "melvinkoopmans (30 commits)")[![edwinsiebel](https://avatars.githubusercontent.com/u/4084596?v=4)](https://github.com/edwinsiebel "edwinsiebel (13 commits)")[![sanderdekroon](https://avatars.githubusercontent.com/u/1830845?v=4)](https://github.com/sanderdekroon "sanderdekroon (10 commits)")[![hnccox](https://avatars.githubusercontent.com/u/89316701?v=4)](https://github.com/hnccox "hnccox (7 commits)")[![YvetteNikolov](https://avatars.githubusercontent.com/u/48315669?v=4)](https://github.com/YvetteNikolov "YvetteNikolov (5 commits)")[![sgort](https://avatars.githubusercontent.com/u/25812095?v=4)](https://github.com/sgort "sgort (5 commits)")[![Rovasch](https://avatars.githubusercontent.com/u/166744617?v=4)](https://github.com/Rovasch "Rovasch (3 commits)")[![richardkorthuis](https://avatars.githubusercontent.com/u/73702842?v=4)](https://github.com/richardkorthuis "richardkorthuis (3 commits)")[![coenjacobs](https://avatars.githubusercontent.com/u/245703?v=4)](https://github.com/coenjacobs "coenjacobs (3 commits)")[![ictbeheer](https://avatars.githubusercontent.com/u/14947039?v=4)](https://github.com/ictbeheer "ictbeheer (2 commits)")[![dtakken](https://avatars.githubusercontent.com/u/2066447?v=4)](https://github.com/dtakken "dtakken (2 commits)")[![eyalacato](https://avatars.githubusercontent.com/u/156068891?v=4)](https://github.com/eyalacato "eyalacato (2 commits)")[![colin-yard-nl](https://avatars.githubusercontent.com/u/47478535?v=4)](https://github.com/colin-yard-nl "colin-yard-nl (1 commits)")[![rmpel](https://avatars.githubusercontent.com/u/1086776?v=4)](https://github.com/rmpel "rmpel (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/plugin-pdc-base/health.svg)

```
[![Health](https://phpackages.com/badges/plugin-pdc-base/health.svg)](https://phpackages.com/packages/plugin-pdc-base)
```

###  Alternatives

[log1x/poet

Configuration-based post type, taxonomy, editor color palette, block category, and block registration for Sage 10.

218280.1k1](/packages/log1x-poet)[10up/10up-experience

The 10up Experience plugin configures WordPress to better protect and inform clients, aligned to 10up's best practices

139477.6k](/packages/10up-10up-experience)[roots/acorn-post-types

Simple post types and taxonomies using Extended CPTs for Acorn.

1221.8k](/packages/roots-acorn-post-types)

PHPackages © 2026

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