You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.5 KiB
PHP
87 lines
2.5 KiB
PHP
<?php
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
$awsm_filters = get_option( 'awsm_jobs_filter' );
|
|
$taxonomy_objects = get_object_taxonomies( 'awsm_job_openings', 'objects' );
|
|
|
|
/**
|
|
* Initialize job specifications meta box.
|
|
*
|
|
* @since 1.6.0
|
|
*/
|
|
do_action( 'awsm_job_specs_mb_init', $post->ID );
|
|
?>
|
|
|
|
<div class="awsm-job-specifications-section" id="awsm_job_specifications">
|
|
<?php
|
|
/**
|
|
* Fires before job specifications meta box content.
|
|
*
|
|
* @since 1.6.0
|
|
*/
|
|
do_action( 'before_awsm_job_specs_mb_content', $post->ID );
|
|
|
|
if ( ! empty( $taxonomy_objects ) && ! empty( $awsm_filters ) ) :
|
|
$spec_keys = wp_list_pluck( $awsm_filters, 'taxonomy' );
|
|
|
|
echo '<ul class="awsm-job-specification-wrapper">';
|
|
foreach ( $taxonomy_objects as $spec => $spec_options ) :
|
|
if ( ! in_array( $spec, $spec_keys, true ) ) {
|
|
continue;
|
|
}
|
|
|
|
/**
|
|
* Filter the arguments for specification terms.
|
|
*
|
|
* @since 3.3.0
|
|
*
|
|
* @param array $terms_args Array of arguments.
|
|
*/
|
|
$terms_args = apply_filters(
|
|
'awsm_jobs_spec_terms_args',
|
|
array(
|
|
'taxonomy' => $spec,
|
|
'orderby' => 'name',
|
|
'hide_empty' => false,
|
|
)
|
|
);
|
|
$spec_terms = get_terms( $terms_args );
|
|
|
|
$post_terms = get_the_terms( $post->ID, $spec );
|
|
$post_terms_ids = array();
|
|
if ( ! empty( $post_terms ) ) {
|
|
foreach ( $post_terms as $post_term ) {
|
|
$post_terms_ids[] = $post_term->term_id;
|
|
}
|
|
}
|
|
?>
|
|
<li>
|
|
<input type="hidden" name="awsm_job_spec_terms[<?php echo esc_attr( $spec ); ?>][]" value="" />
|
|
<label for="awsm_job_<?php echo esc_attr( $spec ); ?>_specification"><?php echo esc_html( $spec_options->label ); ?></label>
|
|
<select class="awsm_job_specification_terms" id="awsm_job_<?php echo esc_attr( $spec ); ?>_specification" name="awsm_job_spec_terms[<?php echo esc_attr( $spec ); ?>][]" multiple="multiple" style="width: 100%;">
|
|
<?php
|
|
if ( ! empty( $spec_terms ) ) :
|
|
foreach ( $spec_terms as $spec_term ) :
|
|
?>
|
|
<option value="<?php echo esc_attr( $spec_term->term_id ); ?>"<?php echo ( ! empty( $post_terms_ids ) ) ? ( in_array( $spec_term->term_id, $post_terms_ids ) ? ' selected' : '' ) : ''; ?>><?php echo esc_html( $spec_term->name ); ?></option>
|
|
<?php
|
|
endforeach;
|
|
endif;
|
|
?>
|
|
</select>
|
|
</li>
|
|
<?php
|
|
endforeach;
|
|
echo '</ul><!-- .awsm-job-specification-wrapper -->';
|
|
endif;
|
|
|
|
/**
|
|
* Fires after job specifications meta box content.
|
|
*
|
|
* @since 1.6.0
|
|
*/
|
|
do_action( 'after_awsm_job_specs_mb_content', $post->ID );
|
|
?>
|
|
</div><!-- #awsm_job_specifications -->
|