/** * Job Proof Demo paid LP — seed, detection, enqueue helpers. * * @package JCP_Core */ if ( ! defined( 'ABSPATH' ) ) { exit; } define( 'JCP_JOB_PROOF_DEMO_SLUG', 'job-proof-demo' ); define( 'JCP_JOB_PROOF_DEMO_VARIANT', 'job_proof_demo' ); define( 'JCP_JOB_PROOF_DEMO_SEED_VERSION', '1' ); /** * Whether the current request is the job-proof-demo LP. */ function jcp_job_proof_demo_is_current(): bool { if ( ! is_singular( 'page' ) ) { return false; } $post = get_queried_object(); if ( ! $post instanceof WP_Post ) { return false; } if ( (string) $post->post_name === JCP_JOB_PROOF_DEMO_SLUG ) { return true; } $tpl = (string) get_page_template_slug( (int) $post->ID ); return $tpl === 'page-job-proof-demo.php'; } /** * Create / repair the locked WP page for /job-proof-demo/. */ function jcp_job_proof_demo_maybe_seed(): void { if ( is_admin() && ! wp_doing_cron() ) { // Allow editors to trigger via normal front requests only; still run on init for prod. } $ver = (string) get_option( 'jcp_job_proof_demo_seed_version', '' ); $page = get_page_by_path( JCP_JOB_PROOF_DEMO_SLUG ); if ( $page instanceof WP_Post && $ver === JCP_JOB_PROOF_DEMO_SEED_VERSION ) { $tpl = (string) get_page_template_slug( (int) $page->ID ); if ( $tpl !== 'page-job-proof-demo.php' ) { update_post_meta( (int) $page->ID, '_wp_page_template', 'page-job-proof-demo.php' ); } return; } $postarr = [ 'post_title' => 'Job Proof Demo', 'post_name' => JCP_JOB_PROOF_DEMO_SLUG, 'post_status' => 'publish', 'post_type' => 'page', 'post_content' => '', 'post_excerpt' => 'See how one finished job becomes marketing proof — no signup required.', ]; if ( $page instanceof WP_Post ) { $postarr['ID'] = (int) $page->ID; $post_id = wp_update_post( $postarr, true ); } else { $post_id = wp_insert_post( $postarr, true ); } if ( is_wp_error( $post_id ) || ! $post_id ) { return; } update_post_meta( (int) $post_id, '_wp_page_template', 'page-job-proof-demo.php' ); update_post_meta( (int) $post_id, '_jcp_campaign_variant', JCP_JOB_PROOF_DEMO_VARIANT ); update_post_meta( (int) $post_id, '_yoast_wpseo_meta-robots-noindex', '1' ); update_option( 'jcp_job_proof_demo_seed_version', JCP_JOB_PROOF_DEMO_SEED_VERSION, false ); } add_action( 'init', 'jcp_job_proof_demo_maybe_seed', 26 ); /** * noindex for paid LP. */ function jcp_job_proof_demo_noindex(): void { if ( ! jcp_job_proof_demo_is_current() ) { return; } echo '' . "\n"; } add_action( 'wp_head', 'jcp_job_proof_demo_noindex', 1 ); /** * Stamp lp_variant on document for attribution JS. */ function jcp_job_proof_demo_variant_bootstrap(): void { if ( ! jcp_job_proof_demo_is_current() ) { return; } $v = esc_js( JCP_JOB_PROOF_DEMO_VARIANT ); echo '' . "\n"; } add_action( 'wp_head', 'jcp_job_proof_demo_variant_bootstrap', 2 ); /** * Campaign image base URL. */ function jcp_job_proof_demo_asset_url( string $file ): string { return trailingslashit( get_template_directory_uri() ) . 'assets/campaign/' . ltrim( $file, '/' ); } JobCapturePro WordPress Plugin Setup Guide
JobCapturePro

How to Install the JobCapturePro WordPress Plugin

The JobCapturePro WordPress plugin lets you display recent job check-ins from your JobCapturePro account directly on your WordPress website. You can show all available check-ins or filter the display by city and/or state using simple WordPress shortcodes.

Before You Start

You will need:

  • Administrator access to your WordPress website.
  • Access to your JobCapturePro admin dashboard.
  • The JobCapturePro WordPress plugin ZIP file.
  • A JobCapturePro access token.

Step 1: Create Your JobCapturePro Access Token

Before installing or configuring the plugin, create an access token in your JobCapturePro admin dashboard.

  1. Log in to your JobCapturePro admin dashboard.
  2. Go to Access Tokens.
  3. Click Create Token.
  4. Enter a Token Name (for example, your location name).
  5. Under Permissions (Scopes), select:
    • read:checkins
    • read:users
  6. Under Token Type:
    • Select Organization if one website will display check-ins from multiple locations.
    • Select Location if each location has its own website.

Important: If you create an Organization token, the same access token can be used for all locations within that organization. If you create a Location token, you must generate a separate access token for each location.

  1. Click Create Token.
  2. Copy and save the access token immediately.

Important: The access token is only displayed once. Store it in a secure location, as you will not be able to view it again after leaving the page.

You will paste this token into WordPress after the plugin is installed.

Step 2: Install the WordPress Plugin


Before installing the plugin, download the latest JobCapturePro WordPress plugin from

WordPress Plugin



  1. Log in to your WordPress dashboard.
  2. Go to Plugins > Add Plugin.
  3. Click Upload Plugin.
  4. Choose the JobCapturePro plugin ZIP file.
  5. Click Install Now.
  6. After installation is complete, click Activate Plugin.

Step 3: Add Your JobCapturePro Access Token in WordPress

  1. In WordPress, go to Settings > General.
  2. Scroll down to the JobCapturePro Settings section.
  3. Paste your JobCapturePro access token into the API Key field.
  4. Click Save Changes.

Once the token is saved, your WordPress website can connect to your JobCapturePro account and display job check-in data through shortcodes.

Step 4: Add the Shortcode to a Page or Post

You can place a JobCapturePro shortcode inside any WordPress page, post, or shortcode-compatible builder element.

For most websites, the main shortcode is:

[jobcapturepro_combined]

This displays the standard JobCapturePro check-in layout using the data connected to your saved access token.

City and State Filtering

You can filter displayed job check-ins by city, state, or both.

Show Check-ins for a Specific City and State

[jobcapturepro_combined city="Indianapolis" state="IN"]

Use this format when you want to show check-ins from a specific city in a specific state.

Show Check-ins for an Entire State

[jobcapturepro_combined state="IN"]

Use this format when you want to show check-ins from anywhere in a specific state.

Show All Available Check-ins

[jobcapturepro_combined]

Use this format when you do not want to filter by city or state.

Recommended State Format

Use the two-letter state abbreviation for the state value.

Examples:

state=”IN”

state=”OH”

state=”KY”

state=”FL”

state=”TX”

Shortcode Attribute Reference

Attribute What It Does Example
city Filters check-ins by city. city=”Indianapolis”
state Filters check-ins by state. Two-letter state abbreviations are recommended. state=”IN”

Common Examples

Display all available check-ins:

[jobcapturepro_combined]

Display check-ins in Indiana:

[jobcapturepro_combined state="IN"]

Display check-ins in Indianapolis, Indiana:

[jobcapturepro_combined city="Indianapolis" state="IN"]

Display check-ins in Columbus, Ohio:

[jobcapturepro_combined city="Columbus" state="OH"]

Troubleshooting

If check-ins do not appear on the page:

  1. Confirm the plugin is installed and activated.
  2. Confirm your JobCapturePro access token has been created in the JobCapturePro admin dashboard.
  3. Confirm the access token has been pasted into Settings > General > JobCapturePro Settings in WordPress.
  4. Confirm the shortcode is entered correctly.
  5. Try using the shortcode without city or state filters first:

[jobcapturepro_combined]

  1. If the unfiltered shortcode works, confirm the city and state values match locations available in your JobCapturePro check-in data.

 

See it live

Turn completed jobs into more booked work

JobCapturePro captures proof from the jobs you already finish and publishes it across Google, your website, and social — without adding busywork for your crew.

Watch the live demo

No signup required for the demo · Setup in minutes