Skip to content

Instantly share code, notes, and snippets.

View jonathanbossenger's full-sized avatar
🏠
Working from home

Jonathan Bossenger jonathanbossenger

🏠
Working from home
View GitHub Profile
# ✨ Set up Copilot instructions
Configure instructions for this repository as documented in [Best practices for Copilot coding agent in your repository](https://gh.io/copilot-coding-agent-tips).
<Onboard this repo>

Below is a product design document for the described WordPress job application plugin. This plugin provides secure applicant registration, user authentication, custom user roles, and resume upload functionality via a block-enabled form.

Product Overview

This WordPress plugin enables authenticated job applicants to submit personal information and a resume (PDF) via an application form. It leverages a custom user type (“applicant”) and requires users to register or log in before accessing the application block.


Functional Requirements

// Register a custom ability to get the WordPress debug status.
add_action( 'abilities_api_init', 'my_plugin_register_debug_status_ability' );
/**
* Registers the 'my-plugin/debug-status' ability.
*
* @return void
*/
function my_plugin_register_debug_status_ability() {
wp_register_ability(
'my-plugin/debug-status',
@jonathanbossenger
jonathanbossenger / wcus2025.md
Last active August 21, 2025 17:43
All the links for my WCUS Workshop: Turn your local WordPress install into your AI coding assistant
@jonathanbossenger
jonathanbossenger / settings.json
Created December 4, 2024 13:39
VS Code settings
{
"scm.inputFontSize": 14,
"debug.console.fontSize": 14,
"markdown.preview.fontSize": 14,
"editor.codeLensFontSize": 14,
"editor.suggestFontSize": 14,
"editor.fontSize": 14,
"files.autoSave": "afterDelay",
"editor.minimap.enabled": false,
"workbench.startupEditor": "none",
/**
* Get Image URL.
*
* @param integer $id ID of the image.
* @param string $args The image arguments.
*
* @return string The image URL.
*/
function zawp_get_image_url( $id, $args ) {
// If image returned is an array, then return it's 'ID'.
addFilter(
"editor.BlockEdit",
"wpdev/is-post-link",
( BlockEdit ) => {
return (props) => {
if (props.name !== "core/button") {
return <BlockEdit {...props} />;
}
return (
{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"steps": [
{
"step": "setSiteOptions",
"options": {
"blogname": "LearnPress",
"blogdescription": "My testing LearnPress site"
}
},
<?php
/**
* Plugin Name: Bookstore
* Description: A plugin to manage books
* Version: 1.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}