SlideShare a Scribd company logo
Jonathan Bossenger
Let’s Code:
Learn.WordPress.org
Custom content & custom capabilities
2
👋🏽
Welcome!
As you join, please make sure you have your local
development environment ready:
• A local WordPress installation
• A code editor like VSCode or Sublime
• The test bed plugin
• https://github.com/jonathanbossenger/wp-
learn-roles-
capabilities/releases/download/1.0.2/wp-learn-
roles-capabilities.1.0.2.zip
Then, let everyone know in the chat where you’re
joining us from…
Hello!
○ My name is Jonathan Bossenger
○ From Cape Town, South Africa
○ Developer educator at Automattic
○ Sponsored to work with the Training Team
○ jonathanbossenger.com
Learn.WordPress.org
Let's code!
Custom content &
custom capabilities
Jonathan Bossenger
Announcements
○ Welcome, and thank you to Tracy for co-hosting.
○ Please let me know if you can’t see this slide!
○ We are presenting in focus mode, but please feel free to enable your video.
○ You are welcome to ask questions.
○ You are welcome to post questions in the chat, or unmute to ask questions.
Announcements
○ Make sure your local install is ready
○ https://github.com/jonathanbossenger/wp-learn-roles-
capabilities/releases/download/1.0.2/wp-learn-roles-capabilities.1.0.2.zip
○ If I am going too fast, please let me know!
○ We will be posting this session to https://wordpress.tv/ afterwards
○ For more WordPress focused content please visit https://learn.wordpress.org/
Learning Outcomes
1. How custom capabilities work on custom post types.
2. The capability_argument of register_post_type.
3. The capabilities argument of register_post_type.
4. The map_meta_cap argument of register_post_type.
Objectives
1. Setup and review the test bed plugin
2. Create a custom post type story
3. Create a role “writer” to manage their own stories by:
a. Setting the capability_type argument
b. Setting the capabilities argument
c. Setting the map_meta_cap argument
7
8
Let’s code.
Resources
○ https://github.com/jonathanbossenger/wp-learn-roles-capabilities/releases/download/1.0.2/wp-learn-
roles-capabilities.1.0.2.zip
○ https://developer.wordpress.org/plugins/users/roles-and-capabilities/
○ https://wordpress.org/documentation/article/roles-and-capabilities/
○ https://developer.wordpress.org/reference/functions/register_post_type/
○ https://developer.wordpress.org/reference/functions/map_meta_cap/

More Related Content

PPTX
New WordPress Developer APIs The Interactivity API
PPTX
The WordPress HTML API
PPTX
The WordPress Create Block tool
PPTX
PHP compatibility testing with PHPCompatibilityWP
PPTX
Common WordPress APIs_ Settings API
PPTX
Common WordPress APIs - Options API
PPTX
Common WordPress APIs_ HTTP API.pptx
PPTX
Common WordPress APIs: Metadata
New WordPress Developer APIs The Interactivity API
The WordPress HTML API
The WordPress Create Block tool
PHP compatibility testing with PHPCompatibilityWP
Common WordPress APIs_ Settings API
Common WordPress APIs - Options API
Common WordPress APIs_ HTTP API.pptx
Common WordPress APIs: Metadata

More from Jonathan Bossenger (20)

PPTX
What’s new for developers_ (August 2023).pptx
PPTX
Testing your plugins for PHP version compatibility
PPTX
Common WordPress APIs_ Global Variables
PPTX
Common WordPress APIs_ Internationalization
PPTX
Testing WordPress 6.3 - Developer edition
PPTX
Common WordPress APIs: Responsive Images
PPTX
Common WordPress APIs - Dashboard Widgets
PPTX
Custom Tables in WordPress
PPTX
The WordPress Database
PPTX
WordPress Coding Standards
PPTX
Managing a WordPress Multisite Network
PPTX
Debugging in WordPress
PPTX
Testing plugins for PHP 8
PPTX
Introduction to WordPress Multisite Networks
PPTX
Developing for multisite
PPTX
Custom Post Types and Capabilities.pptx
PPTX
Developing WordPress User Roles and Capabilities
PPTX
Let's code: WordPress multisite experiments
PPTX
Creating a WordPress multisite network
PPTX
Extending WordPress: common security vulnerabilities
What’s new for developers_ (August 2023).pptx
Testing your plugins for PHP version compatibility
Common WordPress APIs_ Global Variables
Common WordPress APIs_ Internationalization
Testing WordPress 6.3 - Developer edition
Common WordPress APIs: Responsive Images
Common WordPress APIs - Dashboard Widgets
Custom Tables in WordPress
The WordPress Database
WordPress Coding Standards
Managing a WordPress Multisite Network
Debugging in WordPress
Testing plugins for PHP 8
Introduction to WordPress Multisite Networks
Developing for multisite
Custom Post Types and Capabilities.pptx
Developing WordPress User Roles and Capabilities
Let's code: WordPress multisite experiments
Creating a WordPress multisite network
Extending WordPress: common security vulnerabilities
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Weekly Chronicles - August'25-Week II
Programs and apps: productivity, graphics, security and other tools
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation theory and applications.pdf
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
Network Security Unit 5.pdf for BCA BBA.
MIND Revenue Release Quarter 2 2025 Press Release
A comparative analysis of optical character recognition models for extracting...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Ad

Let's code: custom content & custom capabilities

  • 2. 2 👋🏽 Welcome! As you join, please make sure you have your local development environment ready: • A local WordPress installation • A code editor like VSCode or Sublime • The test bed plugin • https://github.com/jonathanbossenger/wp- learn-roles- capabilities/releases/download/1.0.2/wp-learn- roles-capabilities.1.0.2.zip Then, let everyone know in the chat where you’re joining us from… Hello! ○ My name is Jonathan Bossenger ○ From Cape Town, South Africa ○ Developer educator at Automattic ○ Sponsored to work with the Training Team ○ jonathanbossenger.com
  • 3. Learn.WordPress.org Let's code! Custom content & custom capabilities Jonathan Bossenger
  • 4. Announcements ○ Welcome, and thank you to Tracy for co-hosting. ○ Please let me know if you can’t see this slide! ○ We are presenting in focus mode, but please feel free to enable your video. ○ You are welcome to ask questions. ○ You are welcome to post questions in the chat, or unmute to ask questions.
  • 5. Announcements ○ Make sure your local install is ready ○ https://github.com/jonathanbossenger/wp-learn-roles- capabilities/releases/download/1.0.2/wp-learn-roles-capabilities.1.0.2.zip ○ If I am going too fast, please let me know! ○ We will be posting this session to https://wordpress.tv/ afterwards ○ For more WordPress focused content please visit https://learn.wordpress.org/
  • 6. Learning Outcomes 1. How custom capabilities work on custom post types. 2. The capability_argument of register_post_type. 3. The capabilities argument of register_post_type. 4. The map_meta_cap argument of register_post_type.
  • 7. Objectives 1. Setup and review the test bed plugin 2. Create a custom post type story 3. Create a role “writer” to manage their own stories by: a. Setting the capability_type argument b. Setting the capabilities argument c. Setting the map_meta_cap argument 7
  • 9. Resources ○ https://github.com/jonathanbossenger/wp-learn-roles-capabilities/releases/download/1.0.2/wp-learn- roles-capabilities.1.0.2.zip ○ https://developer.wordpress.org/plugins/users/roles-and-capabilities/ ○ https://wordpress.org/documentation/article/roles-and-capabilities/ ○ https://developer.wordpress.org/reference/functions/register_post_type/ ○ https://developer.wordpress.org/reference/functions/map_meta_cap/

Editor's Notes

  • #2: TITLE SLIDE: Make a copy of this presentation to your Google Drive, and edit to replace with your details.