Download the PHP package jjgrainger/wp-custom-post-type-class without Composer

On this page you can find all versions of the php package jjgrainger/wp-custom-post-type-class. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wp-custom-post-type-class

N.B I've released an updated version of the project to a new repository, PostTypes.

WP Custom Post Type Class v1.4

Latest Stable Version Total Downloads License

A single class to help you build more advanced custom post types quickly.

Installation

Install with Composer

Add the package to your projects composer.json file. Visit getcomposer.org more information.

Install Manually

Download and include the class file into your themes functions.php like so:

and your ready to roll!

Creating a new Custom Post type

To create the post type simply create a new object

The first parameter is the post type name and is required. ideally the post type name is all lowercase and words separated with an underscore _.

to be specific about other post types names you can pass an associative array:

post_type_name - the name of post type (singular, lowercase, underscores)

singular - the singular label of the post type (Book, Person)

plural - the plural of the post type (Books, People)

slug - the permalink slug for the post type (plural, lowercase, hyphens)

you pass these names through the first parameter as an array like so:

The optional second parameter is the arguments for the post_type. see WordPress codex for available options.

The Class uses the WordPress defaults where possible.

To override the default options simply pass an array of options as the second parameter. Not all options have to be passed just the ones you want to add/override like so:

See the WordPress codex for all available options.

Existing Post Types

To work with exisiting post types, simply pass the post type name into the class constructor

Adding Taxonomies

You can add taxonomies easily using the register_taxonomy() method like so:

this method accepts two arguments, names and options. The taxonomy name is required and can be string (the taxonomy name), or an array of names following same format as post types:

Again options can be passed optionally as an array. see the WordPress codex for all possible options.

Existing Taxonomies

You can add exisiting taxonomies to the post type by passing the taxonomy name through the register_taxonomy method. You will only need to specify the options for the custom taxonomy once, when its first registered.

Admin Edit Screen

Filters

When you register a taxonomy it is automagically added to the admin edit screen as a filter and a column.

You can define what filters you want to appear by using the filters() method:

By passing an array of taxonomy names you can choose the filters that appear and the order they appear in. If you pass an empty array, no drop down filters will appear on the admin edit screen.

Columns

The Class has a number of methods to help you modify the admin columns. Taxonomies registered with this class are automagically added to the admin edit screen as columns.

You can add your own custom columns to include what ever value you want, for example with our books post type we will add custom fields for a price and rating.

This class doesn't have any methods for adding custom fields as Advanced Custom Fields (ACF) is way more awesome than anything this class could do!

You can define what columns you want to appear on the admin edit screen with the columns() method by passing an array like so:

The key defines the name of the column, the value is the label that appears for that column. The following column names are automagically populated by the class:

Populating Columns

You will need to create a function to populate a column that isn't automagically populated.

You do so with the populate_column() method like so:

so we can populate our price column like so:

The method will pass two variables into the function:

These are passed to help you populate the column appropriately.

Sorting Columns

If it makes sense that column should be sortable by ascending/descending you can define custom sortable columns like so:

The true/false is used to define whether the meta value is a string or integer, reason being is that if numbers are ordered as a string, numbers such as:

1, 3, 5, 11, 14, 21, 33

Would be ordered as:

1, 11, 14, 21, 3, 33, 5

By adding the option true value the values will be sorted as integers, if false or undefined, the class will sort columns as string.

so for our books example you will use:

Menu Icons

Dashicons

With WordPress 3.8 comes dashicons an icon font you can use with your custom post types. To use simply pass the icon name through the menu_icon() method like so:

For a full list of icons and the class names to use visit https://developer.wordpress.org/resource/dashicons/

Translation

The class is setup for translation, but if you need to set your own textdomain to work with your theme or plugin use the set_textdomain() method:

Flush Rewrite Rules

You can programmatically recreate the sites rewrite rules with the flush() method. This is an expensive operation and should be used with caution, see codex for more.

Notes

Author

Joe Grainger


All versions of wp-custom-post-type-class with dependencies

PHP Build Version
Package Version
Requires php Version >=5.3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jjgrainger/wp-custom-post-type-class contains the following files

Loading the files please wait ....