• Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    PHP
  • Created over 13 years ago
  • Updated about 1 year ago

Reviews

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

Repository Details

A WordPress plugin that creates a Portfolio post type.

Portfolio Post Type

WordPress plugin that adds support for Portfolio entries.

Description

This plugin registers a custom post type for portfolio items. It also registers separate portfolio taxonomies for tags and categories. If featured images are selected, they will be displayed in the column view.

This plugin doesn't change how portfolio items are displayed in your theme. You will need to add templates for archive-portfolio.php and single-portfolio.php if you want to customize the display of portfolio items.

Requirements

  • WordPress 3.8, tested up to 6.2

Installation

Upload

  1. Download the latest tagged archive (choose the "zip" option).
  2. Go to the Plugins -> Add New screen and click the Upload tab.
  3. Upload the zipped archive directly.
  4. Go to the Plugins screen and click Activate.

Manual

  1. Download the latest tagged archive (choose the "zip" option).
  2. Unzip the archive.
  3. Copy the folder to your /wp-content/plugins/ directory.
  4. Go to the Plugins screen and click Activate.

Check out the Codex for more information about installing plugins manually.

Git

Using git, browse to your /wp-content/plugins/ directory and clone this repository:

git clone https://github.com/devinsays/portfolio-post-type.git

Then go to your Plugins screen and click Activate.

Customization

Since the custom post type and two taxonomies have filterable arguments, it's possible to amend the labels or other arguments via a plugin or a theme. For example, to change the label from Portfolio to Projects, you can do:

add_filter( 'portfolioposttype_args', 'prefix_change_portfolio_labels' );
/**
 * Change post type labels and arguments for Portfolio Post Type plugin.
 *
 * @param array $args Existing arguments.
 *
 * @return array Amended arguments.
 */
function prefix_change_portfolio_labels( array $args ) {
	$labels = array(
		'name'               => __( 'Projects', 'portfolioposttype' ),
		'singular_name'      => __( 'Project', 'portfolioposttype' ),
		'add_new'            => __( 'Add New Item', 'portfolioposttype' ),
		'add_new_item'       => __( 'Add New Project', 'portfolioposttype' ),
		'edit_item'          => __( 'Edit Project', 'portfolioposttype' ),
		'new_item'           => __( 'Add New Project', 'portfolioposttype' ),
		'view_item'          => __( 'View Item', 'portfolioposttype' ),
		'search_items'       => __( 'Search Projects', 'portfolioposttype' ),
		'not_found'          => __( 'No projects found', 'portfolioposttype' ),
		'not_found_in_trash' => __( 'No projects found in trash', 'portfolioposttype' ),
	);
	$args['labels'] = $labels;

	// Update project single permalink format, and archive slug as well.
	$args['rewrite']     = array( 'slug' => 'project' );
	$args['has_archive'] = true;
	// Don't forget to visit Settings->Permalinks after changing these to flush the rewrite rules.

	return $args;
}

You'd likely want to do something similar with the labels for portfolio tag and portfolio category taxonomies as well.

Frequently Asked Questions

How can I display portfolio items differently than regular posts?

You will need to get your hands dirty with a little code and create an archive-portfolio.php template (for displaying multiple items) and a single-portfolio.php (for displaying the single item).

Why did you make this?

To allow users of Portfolio Press to more easily migrate to a new theme. And hopefully, to save some work for other folks trying to create a portfolio.

Is this plugin on the WordPress repo?

Yes, you can find it here: https://wordpress.org/plugins/portfolio-post-type/

Credits

Built by Devin Price and Gary Jones

More Repositories

1

options-framework-plugin

An Options Panel Framework to help speed theme development.
PHP
838
star
2

options-framework-theme

An Options Panel Framework to help speed theme development.
PHP
757
star
3

customizer-library

Customizer Library
PHP
258
star
4

flutter_todo

Example Flutter to-do app that uses a REST API.
Dart
191
star
5

laravel-react-bootstrap

Example to-do app (including auth) built with Laravel 8 and React.
PHP
145
star
6

team-post-type

Some boilerplate post type code.
PHP
122
star
7

portfolio-press

A WordPress theme for artists and designers to showcase their work.
CSS
62
star
8

better-blockquotes

A plugin for improving the blockquote button in the WordPress editor.
PHP
57
star
9

customizer-library-demo

Demo for the Customizer Library project.
PHP
54
star
10

thematic-options

A theme options framework for WordPress.
PHP
53
star
11

documentation-post-type

Created a WordPress custom post type for product documentation.
PHP
40
star
12

platform

A base theme designed for development workflow.
PHP
37
star
13

event-posts

A small plugin that creates and event post type and meta boxes
PHP
37
star
14

woocommerce-coupon-restrictions

Experiments with coupon restrictions.
PHP
29
star
15

edd-theme-updater

Sample theme updater for EDD.
PHP
25
star
16

angular-experiments

Collection of experiments as I work through learning Angular + the JSON API for WordPress.
PHP
23
star
17

foghorn

Foghorn is a minimalist WordPress theme built off the foundation of Twenty Eleven.
PHP
19
star
18

edd-account-helpers

Example code for building a dashboard are with Easy Digital Downloads.
PHP
16
star
19

visual

Visual is a dark minimalist WordPress theme for displaying photos and images.
CSS
14
star
20

options-framework-theme-demos

Demos for Options Framework.
PHP
13
star
21

customizer-background-control

Registers a new custom customizer control for backgrounds.
PHP
12
star
22

no-slug-portfolio-post-types

Tiny little plugin to remove the slug from portfolio post types.
PHP
11
star
23

history-future

Snappy WordPress Ajax Theme for Byron Reece
PHP
11
star
24

auto-set-featured-image

Auto set a featured image in WordPress.
PHP
11
star
25

light

A lightweight WordPress blog theme
PHP
9
star
26

post-author-optimization-for-woocommerce

Stores the customer_user for WooCommerce orders and subscriptions in the post_author column of posts table.
PHP
9
star
27

woocommerce-customer-source

Learn where your WooCommerce customers are coming from.
PHP
8
star
28

flutter_okta

Proof of concept Flutter + Okta integration.
Dart
8
star
29

edd-free-license-generator

Allows users to bypass checkout page when downloading a specific product. Should be used in conjuction with the EDD Software Licensing Plugin.
PHP
8
star
30

laravel-react-material

Example Material UI to do app that integrates with a Laravel REST API.
JavaScript
6
star
31

post-loaded-avatars

A simple WordPress plugin to post load avatar images.
PHP
6
star
32

gad7

A mobile app built on Flutter to help track anxiety.
Dart
5
star
33

instant-content

WordPress plugin for purchasing Demand Media content.
PHP
3
star
34

salaryinflation

Calculate an inflation adjusted salary.
JavaScript
3
star
35

portfolio-plus

Commercial version of Portfolio Press
PHP
2
star
36

date_picker_input

Example of a date picker input in Flutter.
Dart
2
star
37

twentyfifteen-srcset

Experiments with Twenty Fifteen and Responsive Images
PHP
2
star
38

postlistr-plugin

Trying to learn some backbone.
PHP
1
star
39

wpe-sync

Bash script for syncing in WP Engine environment.
Shell
1
star
40

flutterfort

Gatsby.js site for Flutter blog.
JavaScript
1
star
41

woocommerce-wholesale-role-restriction

This extension prevents customers with a "wholesale" role from using coupons on the site.
PHP
1
star
42

percentchange

Percent Change Calculator
HTML
1
star
43

woocommerce-friendbuy

Plugin allows easy integration between Friendbuy and WooCommerce.
PHP
1
star
44

edd-facebook-analytics

Adds Facebook tracking to your website for conversion metrics and ad re-marketing.
JavaScript
1
star
45

MeasureVW.js

Simple developer tool for measuring elements in vw units.
JavaScript
1
star
46

fallback-languages

Better translation loading in WordPress.
PHP
1
star