• Stars
    star
    567
  • Rank 78,634 (Top 2 %)
  • Language
    PHP
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence.

ClassifAI

Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence.

Support Level Release Version WordPress tested up to version GPLv2 License

E2E Testing PHPUnit Testing Linting CodeQL Dependency Review

You can learn more about ClassifAI's features at ClassifAIPlugin.com and documentation at the ClassifAI documentation site.

Table of Contents

Overview

Tap into leading cloud-based services like OpenAI, Microsoft Azure AI, and IBM Watson to augment your WordPress-powered websites. Publish content faster while improving SEO performance and increasing audience engagement. ClassifAI integrates Artificial Intelligence and Machine Learning technologies to lighten your workload and eliminate tedious tasks, giving you more time to create original content that matters.

Features

Language Processing

Tagging Recommended Content Excerpt Generation
Screenshot of ClassifAI post tagging Screenshot of ClassifAI recommended content Screenshot of ClassifAI excerpt generation
Audio Transcripts Title Generation Text to Speech
Screenshot of ClassifAI audio transcript generation Screenshot of ClassifAI title generation Screenshot of ClassifAI text to speech generation

Image Processing

Alt Text Smart Cropping Tagging Generate Images
Screenshot of ClassifAI alt-text Screenshot of ClassifAI smart coppring Screenshot of ClassifAI image tagging Screenshot of ClassifAI image generation

Requirements

  • PHP 7.4+
  • WordPress 5.7+
  • To utilize the NLU Language Processing functionality, you will need an active IBM Watson account.
  • To utilize the ChatGPT, Embeddings, or Whisper Language Processing functionality or DALL·E Image Processing functionality, you will need an active OpenAI account.
  • To utilize the Computer Vision Image Processing functionality or Text to Speech Language Processing functionality, you will need an active Microsoft Azure account.

Pricing

Note that there is no cost to using ClassifAI itself. Both IBM Watson and Microsoft Azure have free plans for their AI services, but above those free plans there are paid levels as well. So if you expect to process a high volume of content, then you'll want to review the pricing plans for these services to understand if you'll incur any costs. For the most part, both services' free plans are quite generous and should at least allow for testing ClassifAI to better understand its featureset and could at best allow for totally free usage. OpenAI has a limited trial option that can be used for testing but will require a valid paid plan after that.

The service that powers ClassifAI's NLU Language Processing, IBM Watson's Natural Language Understanding ("NLU"), has a "lite" pricing tier that offers 30,000 free NLU items per month.

The service that powers ClassifAI's ChatGPT, Embeddings and Whisper Language Processing and DALL·E Image Processing, OpenAI, has a limited free trial and then requires a pay per usage plan.

The service that powers ClassifAI's Computer Vision Image Processing, Microsoft Azure, has a "free" pricing tier that offers 20 transactions per minute and 5,000 transactions per month.

The service that powers ClassifAI's Text to Speech Language Processing, Microsoft Azure, has a "free" pricing tier that offers 0.5 million characters per month.

The service that powers ClassifAI's Recommended Content, Microsoft Azure's Personalizer, has a "free" pricing tier that offers 50,000 transactions per month.

Installation

Manual Installation

1. Download or Clone this repo, install dependencies and build

  • git clone https://github.com/10up/classifai.git && cd classifai
  • composer install && npm install && npm run build

2. Activate Plugin

Installation via Composer

ClassifAI releases can be installed via Composer.

1. Update composer.json

Instruct Composer to install ClassifAI into the plugins directory by adding or modifying the "extra" section of your project's composer.json file to match the following:

"extra": {
    "installer-paths": {
        "plugins/{$name}": [
            "type:wordpress-plugin"
        ]
    }
}

Add this repository to composer.json, specifying a release version, as shown below:

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "10up/classifai",
            "version": "2.0.0",
            "type": "wordpress-plugin",
            "dist": {
                "url": "https://github.com/10up/classifai/archive/refs/tags/2.0.0.zip",
                "type": "zip"
            }
        }
    }
]

Finally, require the plugin, using the version number you specified in the previous step:

"require": {
    "10up/classifai": "2.0.0"
}

After you run composer update, ClassifAI will be installed in the plugins directory with no build steps needed.

2. Activate Plugin

Register ClassifAI account

ClassifAI is a sophisticated solution that we want organizations of all shapes and sizes to count on. To keep adopters apprised of major updates and beta testing opportunities, gather feedback, support auto updates, and prioritize common use cases, we're asking for a little bit of information in exchange for a free key. Your information will be kept confidential.

1. Register for a ClassifAI account

  • Register for a free ClassifAI account here.
  • Check for an email from ClassifAI Team which contains the registration key.
  • Note that the email will be sent from [email protected], so please whitelist this email address if needed.

2. Configure ClassifAI Registration Key under Tools > ClassifAI

  • In the Registered Email field, enter the email you used for registration.
  • In the Registration Key field, enter the registration key from the email in step 1 above.

Screenshot of registration settings

Set Up Language Processing (via IBM Watson)

1. Sign up for Watson services

  • Register for an IBM Cloud account or sign into your existing one.
  • Check for an email from IBM Cloud and click the Confirm Account link.
  • Log into your account (accepting the privacy policy) and create a new Natural Language Understanding Resource if you do not already have one. It may take a minute for your account to fully populate with the default resource group to use.
  • Click Manage in the left hand menu, then Show credentials on the Manage page to view the credentials for this resource.

2. Configure IBM Watson API Keys under Tools > ClassifAI > Language Processing > IBM Watson

The credentials screen will show either an API key or a username/password combination.

If your credentials contain an API Key, then:

  • In the API URL field enter the URL
  • Enter your API Key in the API Key field.

If your credentials contain a username and password, then:

  • In the API URL field enter the URL
  • Enter the username value into the API Username.
  • Enter the password into the API Key field.

⚠️ Note: Deprecated Endpoint URLs: watsonplatform.net

IBM Watson endpoint urls with watsonplatform.net were deprecated on 26 May 2021. The pattern for the new endpoint URLs is api.{location}.{offering}.watson.cloud.ibm.com. For example, Watson's NLU service offering endpoint will be like: api.{location}.natural-language-understanding.watson.cloud.ibm.com

For more information, see https://cloud.ibm.com/docs/watson?topic=watson-endpoint-change.

Taxonomy options

IBM Watson's Categories, Keywords, Concepts & Entities can each be stored in existing WordPress taxonomies or a custom Watson taxonomy.

3. Configure Post Types to classify and IBM Watson Features to enable under ClassifAI > Language Processing > IBM Watson

  • Choose which public post types to classify when saved.
  • Choose whether to assign category, keyword, entity, and concept as well as the thresholds and taxonomies used for each.

4. Save a Post/Page/CPT or run WP CLI command to batch classify your content

Set Up Language Processing (via OpenAI ChatGPT)

1. Sign up for OpenAI

  • Sign up for an OpenAI account or sign into your existing one.
  • If creating a new account, complete the verification process (requires confirming your email and phone number).
  • Log into your account and go to the API key page.
  • Click Create new secret key and copy the key that is shown.

2. Configure OpenAI API Keys under Tools > ClassifAI > Language Processing > OpenAI ChatGPT

  • Enter your API Key copied from the above step into the API Key field.

3. Enable specific Language Processing features

  • Choose to add the ability to generate excerpts.
  • Choose to add the ability to generate titles.
  • Set the other options as needed.
  • Save changes and ensure a success message is shown. An error will show if API authentication fails.

4. Edit a content type to test enabled features

  • To test excerpt generation, edit (or create) an item that supports excerpts. Note: only the block editor is supported.
  • Ensure this item has content saved.
  • Open the Excerpt panel in the sidebar and click on Generate Excerpt.
  • To test title generation, edit (or create) an item that supports titles.
  • Ensure this item has content saved.
  • Open the Summary panel in the sidebar and click on Generate titles.

Set Up Language Processing (via OpenAI Embeddings)

1. Sign up for OpenAI

  • Sign up for an OpenAI account or sign into your existing one.
  • If creating a new account, complete the verification process (requires confirming your email and phone number).
  • Log into your account and go to the API key page.
  • Click Create new secret key and copy the key that is shown.

2. Configure OpenAI API Keys under Tools > ClassifAI > Language Processing > OpenAI Embeddings

  • Enter your API Key copied from the above step into the API Key field.

3. Enable specific Language Processing features

  • Choose to automatically classify content.
  • Set the other options as needed.
  • Save changes and ensure a success message is shown. An error will show if API authentication fails.

4. Edit a content item

  • Create one or more terms within the taxonomy (or taxonomies) chosen in settings.
  • Create a new piece of content that matches the post type and post status chosen in settings.
  • Open the taxonomy panel in the sidebar and see terms that were auto-applied.

Set Up Language Processing (via OpenAI Whisper)

Note that OpenAI can create a transcript for audio files that meet the following requirements:

  • The file must be presented in mp3, mp4, mpeg, mpga, m4a, wav, or webm format
  • The file size must be less than 25 megabytes (MB)

1. Sign up for OpenAI

  • Sign up for an OpenAI account or sign into your existing one.
  • If creating a new account, complete the verification process (requires confirming your email and phone number).
  • Log into your account and go to the API key page.
  • Click Create new secret key and copy the key that is shown.

2. Configure OpenAI API Keys under Tools > ClassifAI > Language Processing > OpenAI Whisper

  • Enter your API Key copied from the above step into the API Key field.

3. Enable specific features

  • Choose to enable the ability to automatically generate transcripts from supported audio files.
  • Choose which user roles have access to this ability.
  • Save changes and ensure a success message is shown. An error will show if API authentication fails.

4. Upload a new audio file

  • Upload a new audio file.
  • Check to make sure the transcript was stored in the Description field.

Set Up Language Processing (via Microsoft Azure)

1. Sign up for Azure services

  • Register for a Microsoft Azure account or sign into your existing one.
  • Log into your account and create a new Speech Service if you do not already have one. It may take a minute for your account to fully populate with the default resource group to use.
  • Click Keys and Endpoint in the left hand Resource Management menu to view the Location/Region for this resource.
  • Click the copy icon next to KEY 1 to copy the API Key credential for this resource.

2. Configure Microsoft Azure API and Key under Tools > ClassifAI > Language Processing > Microsoft Azure

  • In the Endpoint URL field, enter the following URL, replacing LOCATION with the Location/Region you found above: https://LOCATION.tts.speech.microsoft.com/.
  • In the API Key field, enter your KEY 1 copied from above.
  • Click Save Changes (the page will reload).
  • If connected successfully, a new dropdown with the label "Voices" will be displayed.
  • Select a voice as per your choice.
  • Select a post type that should use this service.

3. Using the Text to Speech service

  • Assuming the post type selected is "post", create a new post and publish it.
  • After a few seconds, a "Preview" button will appear under the ClassifAI settings panel.
  • Click the button to preview the generated speech audio for the post.
  • View the post on the front-end and see a read-to-me feature has been added

Set Up Image Processing (via Microsoft Azure)

Note that Computer Vision can analyze and crop images that meet the following requirements:

  • The image must be presented in JPEG, PNG, GIF, or BMP format
  • The file size of the image must be less than 4 megabytes (MB)
  • The dimensions of the image must be greater than 50 x 50 pixels
  • The file must be externally accessible via URL (i.e. local sites and setups that block direct file access will not work out of the box)

1. Sign up for Azure services

  • Register for a Microsoft Azure account or sign into your existing one.
  • Log into your account and create a new Computer Vision Service if you do not already have one. It may take a minute for your account to fully populate with the default resource group to use.
  • Click Keys and Endpoint in the left hand Resource Management menu to view the Endpoint URL for this resource.
  • Click the copy icon next to KEY 1 to copy the API Key credential for this resource.

2. Configure Microsoft Azure API and Key under Tools > ClassifAI > Image Processing

  • In the Endpoint URL field, enter your API endpoint.
  • In the API Key field, enter your KEY 1.

3. Enable specific Image Processing features

  • Choose to Generate descriptive text, Tag images, Enable smart cropping, and/or Scan image or PDF for text.
  • For features that have thresholds or taxonomy settings, set those as well.
  • Image tagging uses Azure's Describe Image

4. Save Image or PDF file or run WP CLI command to batch classify your content

Set Up Image Processing (via OpenAI)

1. Sign up for OpenAI

  • Sign up for an OpenAI account or sign into your existing one.
  • If creating a new account, complete the verification process (requires confirming your email and phone number).
  • Log into your account and go to the API key page.
  • Click Create new secret key and copy the key that is shown.

2. Configure OpenAI API Keys under Tools > ClassifAI > Image Processing > OpenAI

  • Enter your API Key copied from the above step into the API Key field.

3. Enable specific Image Processing features

  • Choose to add the ability to generate images.
  • If image generation is configured, set the other options as needed.
  • Save changes and ensure a success message is shown. An error will show if API authentication fails.

4. Trigger the media flow within a content item

  • Create a new content item
  • Insert an Image block or choose to add a featured image and choose a new item from the Media Library
  • In the media modal that opens, click on the Generate image tab
  • Enter in a prompt to generate an image
  • Once images are generated, choose one or more images to import into your media library
  • Choose one image to insert into the content

Set Up Recommended Content (via Microsoft Azure Personalizer)

Note that Personalizer requires sufficient data volume to enable Personalizer to learn. In general, we recommend a minimum of ~1,000 events per day to ensure Personalizer learns effectively. If Personalizer doesn't receive sufficient data, the service takes longer to determine the best actions.

1. Sign up for Azure services

  • Register for a Microsoft Azure account or sign into your existing one.
  • Log into your account and create a new Personalizer resource.
  • Enter your service name, select a subscription, location, pricing tier, and resource group.
  • Select Create to create the resource.
  • After your resource has deployed, select the Go to Resource button to go to your Personalizer resource.
  • Click Keys and Endpoint in the left hand Resource Management menu to view the Endpoint URL for this resource.
  • Click the copy icon next to KEY 1 to copy the API Key credential for this resource.

For more information, see https://docs.microsoft.com/en-us/azure/cognitive-services/personalizer/how-to-create-resource

2. Configure Microsoft Azure API and Key under Tools > ClassifAI > Recommended Content

  • In the Endpoint URL field, enter your Endpoint URL from Step 1 above.
  • In the API Key field, enter your KEY 1 from Step 1 above.

3. Use "Recommended Content" block to display recommended content on your website.

WP CLI Commands

Frequently Asked Questions

What data does ClassifAI gather?

ClassifAI connects your WordPress site directly to your account with specific service provider(s) (e.g. Microsoft Azure AI, IBM Watson, OpenAI), so no data is gathered by 10up. The data gathered in our registration form is used simply to stay in touch with users so we can provide product updates and news. More information is available in the Privacy Policy on ClassifAIplugin.com.

What are the Categories, Keywords, Concepts, and Entities within the NLU Language Processing feature?

Categories are five levels of hierarchies that IBM Watson can identify from your text. Keywords are specific terms from your text that IBM Watson is able to identify. Concepts are high-level concepts that are not necessarily directly referenced in your text. Entities are people, companies, locations, and classifications that are made by IBM Watson from your text.

How can I view the taxonomies that are generated from the NLU Language Processing?

Whatever options you have selected in the Category, Keyword, Entity, and Concept taxonomy dropdowns in the NLU Language Processing settings can be viewed within Classic Editor metaboxes and the Block Editor side panel. They can also be viewed in the All Posts and All Pages table list views by utilizing the Screen Options to enable those columns if they're not already appearing in your table list view.

Should I alert my site's users that AI tools are being used?

We recommend that you are transparent with your users that AI tools are being used. This can be done by adding a notice to your site's Privacy Policy or similar page. Sample copy is provided below:

This site makes use of Artificial Intelligence tools to help with tasks like language processing, image processing, and content recommendations.

Support Level

Active: 10up is actively working on this, and we expect to continue work for the foreseeable future including keeping tested up to the most recent version of WordPress. Bug reports, feature requests, questions, and pull requests are welcome.

Changelog

A complete listing of all notable changes to ClassifAI are documented in CHANGELOG.md.

Contributing

Please read CODE_OF_CONDUCT.md for details on our code of conduct, CONTRIBUTING.md for details on the process for submitting pull requests to us, and CREDITS.md for a listing of maintainers, contributors, and libraries for ClassifAI.

Like what you see?

Work with us at 10up

More Repositories

1

ElasticPress

A fast and flexible search and query engine for WordPress.
PHP
1,242
star
2

Engineering-Best-Practices

10up Engineering Best Practices
SCSS
757
star
3

wp-local-docker

****** WP Local Docker V2 is now available - https://github.com/10up/wp-local-docker-v2
Shell
748
star
4

wp_mock

WordPress API Mocking Framework
PHP
674
star
5

distributor

Share content between your websites.
PHP
628
star
6

action-wordpress-plugin-deploy

Deploy your plugin to the WordPress.org repository using GitHub Actions
Shell
521
star
7

wp-local-docker-v2

ARCHIVED: A simple Docker based development environment for WordPress.
JavaScript
484
star
8

actions-wordpress

GitHub Actions for WordPress!
Shell
419
star
9

MU-Migration

This WP-CLI plugin makes the process of moving sites from single WordPress sites to a Multisite instance (or vice-versa) much easier. It exports everything into a zip package which can be used to automatically import it within the desired Multisite installation.
PHP
324
star
10

safe-redirect-manager

A simple HTTP redirection plugin for WordPress.
PHP
311
star
11

wpcli-vulnerability-scanner

WP-CLI command for checking installed plugins and themes for vulnerabilities reported on wpvulndb.com
PHP
274
star
12

wp-component-library

A library of barebones front-end components built with WordPress and accessibility in mind.
HTML
270
star
13

safe-svg

Enable SVG uploads and sanitize them to stop XML/SVG vulnerabilities in your WordPress website.
PHP
263
star
14

grunt-wp-theme

WordPress Theme Project Templates
JavaScript
252
star
15

SketchPress

Sketch template for quickly creating awesome WordPress admin interface mockups and designs.
251
star
16

block-components

A collection of components built to be used in the block editor
TypeScript
251
star
17

WP-Minions

ARCHIVED: Job Queue for WordPress
PHP
231
star
18

restricted-site-access

Limit access to visitors who are logged in or allowed by IP addresses. Includes many options for handling blocked visitors.
PHP
228
star
19

wpsnapshots

(DEPRECATED) A project sharing tool for WordPress.
PHP
216
star
20

simple-local-avatars

Adds an avatar upload field to user profiles. Generates requested sizes on demand just like Gravatar!
PHP
213
star
21

wp-scaffold

10up WordPress project scaffold.
PHP
192
star
22

generator-wp-make

A Yeoman generator for making WordPress things
JavaScript
184
star
23

theme-scaffold

DEPRECATED. Use https://github.com/10up/wp-scaffold
PHP
184
star
24

grunt-wp-plugin

DEPRECATED: Please use https://github.com/10up/generator-wp-make instead.
JavaScript
183
star
25

simple-podcasting

A simple podcasting solution for WordPress.
PHP
179
star
26

nodeifywp

Powerful framework plugin for turning your WordPress theme into an isomorphic JavaScript application.
PHP
171
star
27

headstartwp

Build a headless website fast with WordPress, the world’s most popular CMS, and Next.js, the most popular React framework. A free and open source solution by the experts at 10up.
TypeScript
160
star
28

wp-hammer

ARCHIVED: Please see https://github.com/10up/wp-scrubber as replacement.
PHP
150
star
29

wpacceptance

ARCHIVED: A team scalable solution for reliable WordPress acceptance testing.
PHP
148
star
30

convert-to-blocks

Convert to Blocks is a WordPress plugin that transforms classic editor content to blocks on the fly.
PHP
147
star
31

simple-page-ordering

Order your pages and other hierarchical post types with simple drag and drop right from the standard page list.
PHP
146
star
32

plugin-scaffold

DEPRECATED. Use https://github.com/10up/wp-scaffold
PHP
133
star
33

10up-experience

The 10up Experience plugin configures WordPress to better protect and inform clients, aligned to 10up’s best practices.
PHP
129
star
34

Async-Transients

ARCHIVED: Transients that serve stale data while regenerating the new transients in the background.
PHP
124
star
35

action-wordpress-plugin-asset-update

Update your plugin readme and assets in the WordPress.org repository outside of new releases
Shell
117
star
36

autoshare-for-twitter

Automatically shares the post title or custom message and a link to the post to X/Twitter.
PHP
117
star
37

10up-toolkit

Official 10up asset building toolkit.
JavaScript
108
star
38

wp-codeception

Integrates Codeception framework into WordPress and allows run tests using WP CLI command.
PHP
103
star
39

twentysixteenreact

Twenty Sixteen theme as an isomorphic React.js application using NodeifyWP.
CSS
93
star
40

slotfill-and-filter-demos

This repo can be used as reference or can be installed as a plugin in any WordPress install to make code changes as needed. Each SlotFill or filter is explained with examples. This is meant to be a working document and will change as Gutenberg does.
JavaScript
93
star
41

gutenberg-best-practices

Welcome to the 10up Gutenberg Best Practices!
JavaScript
88
star
42

eight-day-week

Optimize print publication workflows by using WordPress as your print CMS.
PHP
86
star
43

wp-content-connect

WordPress library that enables direct relationships for posts to posts and posts to users.
JavaScript
83
star
44

nginx_configs

ARCHIVED: Nginx Configuration Template for WordPress Sites
C++
77
star
45

project-scaffold

DEPRECATED. Use https://github.com/10up/wp-scaffold
JavaScript
76
star
46

insert-special-characters

A Special Character inserter for the WordPress block editor (Gutenberg).
JavaScript
71
star
47

maps-block-apple

An Apple Maps block for the WordPress block editor (Gutenberg).
JavaScript
70
star
48

secured-advanced-custom-fields

ARCHIVED: Secured version of the Advanced Custom Fields plugin
PHP
63
star
49

windows-azure-storage

Use the Microsoft Azure Storage service to host your website's media files.
PHP
61
star
50

wp-newrelic

New Relic APM reports for WordPress.
PHP
59
star
51

component-library

A library of barebones front-end components built with WordPress and accessibility in mind.
JavaScript
58
star
52

ads-txt

Ads.txt Manager for WordPress: Manage your ads.txt and app-ads.txt files in the WordPress dashboard
PHP
56
star
53

Post-Customizer

A WordPress plugin to enhance the post editor preview
JavaScript
51
star
54

phpcs-composer

Official 10up PHPCS rules.
PHP
48
star
55

Open-Source-Best-Practices

Start reading: https://10up.github.io/Open-Source-Best-Practices/
SCSS
46
star
56

WordPress-Server-Configs

Configurations for the common Linux software stack 10up uses for WordPress
Nginx
44
star
57

10up-code-review

Custom PHP_CodeSniffer rules to help flag common issues during code review
PHP
43
star
58

publisher-media-kit

Pre-configured Media Kit Page using Gutenberg Block Patterns.
PHP
42
star
59

block-catalog

Easily keep track of which Gutenberg Blocks are used across your WordPress site.
PHP
40
star
60

curator

Select specific posts from across multiple post types to combine together and control the ordering.
PHP
38
star
61

insecure-content-warning

Prevent editors from adding insecure content in the editor.
JavaScript
37
star
62

retro-winamp-block

A Winamp-styled audio block for all your retro music player needs.
JavaScript
35
star
63

wordpress-ci-container

WordPress continuous integration Docker container with composer, NPM, and other common build tools for PHP projects
Shell
35
star
64

vagrant-ghost

Vagrant Hosts Updater Plugin
Ruby
31
star
65

elasticpress-react

Use ElasticPress with React.
JavaScript
30
star
66

10up-sitemaps

Simple sitemaps plugin that performs at scale.
PHP
29
star
67

debug-bar-elasticpress

Extends the Debug Bar plugin for usage with ElasticPress
PHP
27
star
68

simple-new-post-emails

Allow site members to check a box and get new posts via email. Includes a widget.
PHP
27
star
69

elasticpress-autosuggest

DEPRECATED - Functionality merged into core ElasticPress plugin
JavaScript
26
star
70

nodeifywp-environment

Dockerized environment for NodeifyWP applications.
26
star
71

action-wordpress-plugin-build-zip

Build a zip archive of your WordPress.org plugin using GitHub Actions
Shell
25
star
72

Docker-Images

Docker image repository
Shell
24
star
73

Ad-Refresh-Control

Enable Active View refresh for Google Ad Manager ads without needing to modify any code.
PHP
24
star
74

cypress-wp-utils

Utilities library for WordPress E2E testing in the Cypress environment
TypeScript
23
star
75

secure-media

ARCHIVED: Store private media securely in WordPress.
PHP
23
star
76

elasticpress-woocommerce-deprecated

DEPRECATED - Bundled in ElasticPress 2.1
PHP
22
star
77

brightcove-video-connect

A plugin to integrate your Brightcove video library or libraries with WordPress
PHP
22
star
78

Brute-Force-Login-Prevention

Assists in preventing common brute force login attempts by modifying the default login URL for WordPress.
PHP
20
star
79

snapshots

(BETA) A project sharing tool for WordPress. Previously known as WP Snapshots.
PHP
20
star
80

wp-safe-edit

ARCHIVED: Safely edit published posts behind the scenes without affecting the live site.
PHP
18
star
81

elasticpress-proxy

A custom PHP Proxy to handle Instant Results requests.
PHP
18
star
82

ElasticPressLabs

A developer-focused interface to enabling experimental ElasticPress plugin features.
PHP
18
star
83

wp-local-docker-docs

Documentation for WP Local Docker
SCSS
18
star
84

cypress-wp-setup

NPM package to set up boilerplate for Cypress testing.
JavaScript
17
star
85

gutenberg-lessons

10up Gutenberg Training WordPress Starter Files
PHP
17
star
86

image-generator

Generates missed thumbnails for images on the fly.
PHP
17
star
87

SwiftStream

Image lazy-loader for WordPress.
PHP
16
star
88

grunt-for-wordpress

Install Grunt, Git, and 10up WordPress Grunt scripts.
Shell
16
star
89

eslint-config

A shareable ESLint config.
JavaScript
16
star
90

elasticpress-stream

ARCHIVED: Use ElasticPress to power Stream with Elasticsearch.
PHP
16
star
91

wp-scrubber

BETA: This plugin provides a command-line interface for scrubbing sensitive user and comment data from a WordPress installation.
PHP
15
star
92

action-repo-automator

GitHub Action to automate common repo operations like validate PR description, changelog, and credits.
JavaScript
15
star
93

Gitlab-Registry-Cleaner

Bash script using the GitLab API to delete images from a GitLab container registry. Supports regex and deleting images older than a specific age.
Shell
15
star
94

frontity-packages

10up's collection of frontity packages.
JavaScript
15
star
95

CSS_Customizer

Drop in class for implementing a custom CSS editor either as a standalone settings page or a meta box.
PHP
14
star
96

ElasticPress-Admin-Deprecated

THIS FEATURE HAS BEEN MOVED TO THE CORE ELASTICPRESS PLUGIN.
PHP
13
star
97

composer-scan

ARCHIVED: Scans your composer.lock file to find vulnerable WordPress plugins and themes using the https://wpvulndb.com API
Python
12
star
98

simple-google-news-sitemap

A simple Google News sitemap is generated on-the-fly for articles that were published in the last two days. Output is saved in cache or as a transient for fast reading and displaying on the front end.
PHP
12
star
99

Publish-to-Twitter

Publish to Twitter based on WordPress taxonomies.
JavaScript
11
star
100

animation-best-practices

Welcome to the 10up Animation Best Practices!
HTML
11
star