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 -
ankylerwidget
-
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