wordpress-plugin-construction
Tools
Open Source
PHP
WordPress
WordPress plugin construction
Tools for developing and running a awesome WordPress website.
Please select a folder in the list above to see the plugin’s development.
Two programmers
https://en.wikipedia.org/wiki/Pair_programming
An article about code quality
http://engineering.quora.com/Moving-Fast-With-High-Code-Quality
Plugin headers
readme.txt
https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/
=== Plugin Name ===
Contributors: (comma, separated, list of wordpress.org userid's)
Donate link: https://example.com/
Tags: comments, spam
Requires at least: 4.9
Tested up to: 5.2.2
Requires PHP: 7.0
Stable tag: 1.0.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Here is a short description of the plugin. This should be no more than 150 characters. No markup here.
https://developer.wordpress.org/plugins/plugin-basics/header-requirements/ @wordpress-plugin
/** * Plugin Name * * @package PluginPackage * @author Your Name * @copyright 2019 Your Name or Company Name * @license GPL-2.0-or-later * * @wordpress-plugin * Plugin Name: Plugin Name * Plugin URI: https://example.com/plugin-name * Description: Description of the plugin. * Version: 1.0.0 * Author: Your Name * Author URI: https://example.com * Text Domain: plugin-slug * License: GPL v2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */
How to add images to a WordPress plugin?
- assets/banner-772×250.png
- assets/icon-128×128.png
- assets/icon-256×256.png
- assets/screenshot-1.jpg (530px + 1+1 border)
- http://www.shutterstock.com/cat.mhtml?&searchterm=Flat%20modern%20design%20with%20shadow
One-class file comment
<?php /** * Administration API: WP_Internal_Pointers class * * @package WordPress * @since 4.4.0 */ /** * Core class used to implement an internal admin pointers API. * * @since 3.3.0 */ final class WP_Internal_Pointers {
Recommended plugins
- https://vip.wordpress.com/plugins/
- http://wpgear.org/
- http://themehybrid.com/plugins
-
Post connector:
post-connector
,posts-to-posts
,related-posts-for-wp
Data structure plugin categories
- CPT (Custom port type)
- Custom taxonomy
- Custom post meta
- Custom taxonomy meta
- Custom user meta
- Plugin option page
- Theme options page
- Shortcodes
- Widgets
-
Widget display conditions
widget-context
- Search custom contents
Various content plugin categories
-
Content Forcing
-
force-featured-image
- mu-deny-giant-image-uploads/
-
-
Content Fixes
- mu-shortcode-unautop/
-
custom-post-type-permalinks
-
UI tuning / Bulk edit aid
-
Editor:
tinymce-advanced
- Lenghten taxonomy selector boxes, see: content-extras/nav-menu-meta-box-length.php https://core.trac.wordpress.org/ticket/32237
-
Keep category tree in post editor Category Checklist Tree
category-checklist-tree
- mu-cleanup-admin/
-
wp-solarized
-
mark-posts
- https://github.com/fusioneng/Unified-Post-Types
<pre>add_filter( 'unified_post_types', function ( $post_types ) { $post_types[] = 'portfolio'; $post_types[] = 'news'; return $post_types;
});
<ul dir="auto"> <li> <code>simple-page-ordering</code> </li> <li> <code>post-types-order</code> </li> <li> Media URL column, see: content-extras/media-url-column.php </li> <li> <code>codepress-admin-columns</code> </li> <li> <code>featured-image-column</code> </li> <li> <code>advanced-excerpt</code> </li> <li> Advanced Image Styles <code>advanced-image-styles</code> </li> <li> <code>unattach</code> </li> </ul>
-
Editor:
-
Content representation
- Pods
- https://github.com/alleyinteractive/wordpress-fieldmanager
-
CMB2
- https://github.com/jtsternberg/Shortcode_Button with CMB2
-
shortcode-ui
-
custom-content-shortcode
-
column-shortcodes
-
tablepress
-
Map
wp-geo
-
ankyler
widget
-
Imaging
- Cloudinary
-
my-eyes-are-up-here
-
Tracking
- google-universal-analytics/
- .
-
CDN
- https://github.com/markjaquith/WP-Stack/blob/master/WordPress-Dropins/wp-stack-cdn.php
- .
Manage WordPress installation with git
-
Core as submodule at
/company/
with URLhttps://github.com/WordPress/WordPress.git
-
Theme as submodule with URL
file:///home/user/website/theme.git
- WP.org plugins are gitignore-d.
-
Non-WP.org plugins as submodules with URL
file:///home/user/website/plugin.git
Manage WordPress plugins with composer
WordPress .gitignore
See https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/wordpress.gitignore