WP Manifestindependent plugin directory
manifest / content / credit-list

Credit List

Create and display film/video production credits with ease.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jenss/credit-list/archive/refs/heads/main.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

A WordPress & ClassicPress plugin for creating beautiful film and video production credits.


✨ Features

  • People Database – Manage a central database of crew members with website and Instagram links
  • Easy Editor Integration – One-click button in the editor opens a modal to build your credits
  • Autocomplete – Quickly find existing people or create new entries on the fly
  • Drag & Drop Ordering – Reorder credits effortlessly
  • Flexible Display – Choose how links appear (none / name as link / separate www + IG icons)
  • CSS-Ready – Semantic HTML with BEM classes for easy custom styling
  • Shortcode Based – Simple [credit_list id="X"] integration
  • Auto-Updates – Receive updates directly from GitHub releases
  • ClassicPress Compatible – No jQuery UI dependencies, pure vanilla JS

📦 Installation

From GitHub

  1. Download the latest release as a ZIP file
  2. In WordPress/ClassicPress, go to Plugins → Add New → Upload Plugin
  3. Upload the ZIP file and click Install Now
  4. Activate the plugin

Manual Installation

  1. Clone or download this repository
  2. Upload the credit-list folder to /wp-content/plugins/
  3. Activate via Plugins menu

🔄 Automatic Updates

Once installed, the plugin checks for updates directly from GitHub releases. When a new version is available, you'll see it in your WordPress/ClassicPress dashboard just like any other plugin update.


📦 For Developers: Release Process

If you're forking or contributing, here's how releases work:

  1. Update version in credit-list.php (header + CREDIT_LIST_VERSION constant)
  2. Commit and push
  3. Create a GitHub Release with tag (e.g., v1.0.1)
  4. Critical: Upload a built .zip file as a release asset

Why upload a .zip manually?

The plugin uses plugin-update-checker with enableReleaseAssets(). This makes WordPress download your uploaded .zip instead of GitHub's auto-generated source archive.

This is important because:

  • The vendor/ directory is gitignored
  • GitHub's auto-generated archive won't include it
  • Without vendor/, the plugin breaks (missing dependencies)

Building the release .zip:

# From the plugin directory
composer install --no-dev  # if using composer
# Or manually ensure vendor/ contains:
#   - plugin-update-checker/
#   - sortable/

# Create the zip (excluding dev files)
zip -r credit-list-v1.0.1.zip credit-list/ \
    -x "*.git*" \
    -x "*node_modules*" \
    -x "*.DS_Store"

🚀 Quick Start

1. Configure Settings

Navigate to Credit List → Settings and choose your preferred link display mode:

Mode Output
No Links Director: Jane Doe
Name Links Director: [Jane Doe](link)
Separate Icons Director: Jane Doe (www) (IG)

2. Add Your Crew (Optional)

Go to Credit List → People Database to pre-populate your frequent collaborators.

3. Create a Credit List

  1. Edit any post or page
  2. Click the Credit List button in the editor toolbar
  3. Add roles and people (autocomplete helps you find existing entries)
  4. Drag to reorder
  5. Save – shortcode is automatically inserted

4. Style It

The plugin outputs semantic HTML with consistent CSS classes. Override the defaults or build your own styles:

/* Example: Center-aligned credits with custom colors */
.credit-list {
  --cl-role-width: 180px;
  text-align: center;
}

.credit-list__role {
  color: #666;
  text-transform: uppercase;
  font-size: 0.85em;
}

.credit-list__name {
  font-weight: 600;
}

📖 Shortcode Reference

Basic Usage

[credit_list id="32"]

Attributes

Attribute Default Description
id required Project ID
class "" Additional CSS classes
link_mode "global" Override: "none", "name", "separate"

Example

[credit_list id="32" class="my-credits" link_mode="separate"]

🎨 CSS Classes Reference

The plugin uses BEM naming conventions for easy targeting:

Class Element
.credit-list Main wrapper
.credit-list--none Link mode: none
.credit-list--name Link mode: name
.credit-list--separate Link mode: separate
.credit-list__entries List container
.credit-list__entry Single credit row
.credit-list__role Role/position
.credit-list__person Person container
.credit-list__name Name text
.credit-list__name-link Name as link
.credit-list__links Links container
.credit-list__link--website Website link
.credit-list__link--instagram Instagram link

🔧 Requirements

  • PHP: 7.4 or higher (8.0+ recommended)
  • WordPress: 6.0 or higher
  • ClassicPress: 2.0 or higher

ClassicPress Note

This plugin is built with ClassicPress compatibility in mind. It does not use deprecated jQuery UI components. All interactive features use vanilla JavaScript and bundled lightweight libraries.


🤝 Contributing

Contributions are welcome and appreciated! Here's how you can help:

Reporting Bugs

  1. Check existing issues first
  2. Open a new issue with:
    • Clear description of the problem
    • Steps to reproduce
    • WordPress/ClassicPress version
    • PHP version
    • Any error messages

Suggesting Features

Open an issue with the enhancement label. Describe:

  • What you'd like to see
  • Why it would be useful
  • Any implementation ideas

Pull Requests

  1. Fork the repository
  2. Create a branch for your feature: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to your branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Code Style

  • Follow WordPress Coding Standards
  • Use vanilla JavaScript (no jQuery for new features)
  • Keep ClassicPress compatibility in mind (no jQuery UI)
  • Add comments for complex logic
  • Test on both WordPress and ClassicPress if possible

Areas Where Help is Appreciated

  • 🌍 Translations – Help translate the plugin into your language
  • 📝 Documentation – Improve README, add examples
  • 🐛 Bug Fixes – Squash those bugs
  • ✨ Features – Check the issues for feature requests
  • 🎨 CSS Themes – Create beautiful preset styles

📁 Project Structure

credit-list/
├── credit-list.php          # Main plugin file + update checker
├── includes/                # PHP classes
├── admin/
│   ├── css/                 # Admin styles
│   ├── js/                  # Vanilla JS scripts
│   └── views/               # Admin page templates
├── public/
│   └── css/                 # Frontend styles
├── vendor/                  # ⚠️ Gitignored, but MUST be in release .zip
│   ├── plugin-update-checker/
│   └── sortable/
├── blocks/                  # Gutenberg block (optional)
└── languages/               # Translation files

📄 License

This project is licensed under the MIT License – see the license.txt file for details.

MIT License

Copyright (c) 2026 Jens Sage

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🙏 Credits

Built with ☕ and 🎬 by Jens Sage


Feel free to show some love on my Instagram or buy me a coffee ❤️ Merci, Jens


⭐ Show Your Support

If this plugin helps you, consider:


Made for filmmakers, by a filmmaker.