emails
1 week ago
form-fields
1 week ago
access-denied-browse-job_listings.php
4 years ago
access-denied-single-job_listing.php
3 years ago
account-signin.php
4 years ago
content-job_listing.php
3 months ago
content-no-jobs-found.php
7 years ago
content-single-job_listing-company.php
3 years ago
content-single-job_listing-meta.php
4 years ago
content-single-job_listing.php
1 week ago
content-summary-job_listing.php
3 months ago
content-widget-job_listing.php
3 months ago
content-widget-no-jobs-found.php
7 years ago
job-application-email.php
4 years ago
job-application-url.php
7 years ago
job-application.php
7 years ago
job-dashboard-login.php
7 years ago
job-dashboard-overlay.php
2 years ago
job-dashboard.php
2 years ago
job-filter-job-types.php
2 years ago
job-filters.php
2 years ago
job-listings-end.php
7 years ago
job-listings-start.php
7 years ago
job-pagination.php
7 years ago
job-preview.php
2 years ago
job-stats.php
3 months ago
job-submit.php
2 years ago
job-submitted.php
2 years ago
notice.php
2 years ago
pagination.php
6 years ago
content-job_listing.php
58 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Job listing in the loop. |
| 4 | * |
| 5 | * This template can be overridden by copying it to yourtheme/job_manager/content-job_listing.php. |
| 6 | * |
| 7 | * @see https://wpjobmanager.com/document/template-overrides/ |
| 8 | * @author Automattic |
| 9 | * @package wp-job-manager |
| 10 | * @category Template |
| 11 | * @since 1.0.0 |
| 12 | * @version 1.34.0 |
| 13 | */ |
| 14 | |
| 15 | if ( ! defined( 'ABSPATH' ) ) { |
| 16 | exit; // Exit if accessed directly. |
| 17 | } |
| 18 | |
| 19 | global $post; |
| 20 | |
| 21 | // Defense in depth: the listings query in get_job_listings() already excludes password-protected |
| 22 | // posts and the AJAX/RSS dispatchers gate on browse capability, but theme overrides of this |
| 23 | // template would bypass those checks. Re-assert here so any direct WP_Query consumer that picks |
| 24 | // up this template can't surface protected or capability-restricted listings. |
| 25 | if ( post_password_required( $post ) || ! job_manager_user_can_view_job_listing( $post->ID ) ) { |
| 26 | return; |
| 27 | } |
| 28 | ?> |
| 29 | <li <?php job_listing_class(); ?> data-longitude="<?php echo esc_attr( $post->geolocation_long ); ?>" data-latitude="<?php echo esc_attr( $post->geolocation_lat ); ?>"> |
| 30 | <a href="<?php the_job_permalink(); ?>"> |
| 31 | <?php the_company_logo(); ?> |
| 32 | <div class="position"> |
| 33 | <h3><?php wpjm_the_job_title(); ?></h3> |
| 34 | <div class="company"> |
| 35 | <?php the_company_name( '<strong>', '</strong> ' ); ?> |
| 36 | <?php the_company_tagline( '<span class="tagline">', '</span>' ); ?> |
| 37 | </div> |
| 38 | </div> |
| 39 | <div class="location"> |
| 40 | <?php the_job_location( false ); ?> |
| 41 | </div> |
| 42 | <ul class="meta"> |
| 43 | <?php do_action( 'job_listing_meta_start' ); ?> |
| 44 | |
| 45 | <?php if ( get_option( 'job_manager_enable_types' ) ) { ?> |
| 46 | <?php $types = wpjm_get_the_job_types(); ?> |
| 47 | <?php if ( ! empty( $types ) ) : foreach ( $types as $type ) : ?> |
| 48 | <li class="job-type <?php echo esc_attr( sanitize_title( $type->slug ) ); ?>"><?php echo esc_html( $type->name ); ?></li> |
| 49 | <?php endforeach; endif; ?> |
| 50 | <?php } ?> |
| 51 | |
| 52 | <li class="date"><?php the_job_publish_date(); ?></li> |
| 53 | |
| 54 | <?php do_action( 'job_listing_meta_end' ); ?> |
| 55 | </ul> |
| 56 | </a> |
| 57 | </li> |
| 58 |