Skip to content

Instantly share code, notes, and snippets.

@tripflex
Last active May 12, 2022 12:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tripflex/3a5c882b340c49b37f70a1b6a676124a to your computer and use it in GitHub Desktop.
Save tripflex/3a5c882b340c49b37f70a1b6a676124a to your computer and use it in GitHub Desktop.
Convert Links repeatable fields to Languages repeatable fields with WP Job Manager Field Editor
<?php
add_filter( 'gettext', 'smyles_replace_url_wording_text', 10, 3 );
function smyles_replace_url_wording_text( $translation, $text, $domain ) {
if( $domain === 'wp-job-manager-resumes' ){
if( $text === 'URL' ){ // Add button
$translation = __( 'Languages' );
}
if( $text === 'URL(s)' ){ //metabox header
$translation = __( 'Language(s)' );
}
}
return $translation;
}
add_filter( 'submit_resume_form_fields', 'smyles_custom_frontend_exp_edu_links_fields', 1 );
add_filter( 'resume_manager_resume_links_fields', 'smyles_custom_repeatable_admin_links', 1 );
function smyles_custom_repeatable_admin_links( $fields ){
$fields = array(
'language' => array(
'name' => 'resume_languages_language[]',
'label' => __( 'Language' ),
'type' => 'select',
'required' => true,
'placeholder' => '',
'priority' => 1,
'options' => array(
'' => __( 'None' ),
'English' => __( 'English' ),
'Italian' => __( 'Italian' )
)
),
'level' => array(
'name' => 'resume_languages_level[]',
'label' => __( 'Level' ),
'type' => 'select',
'required' => true,
'placeholder' => '',
'priority' => 2,
'options' => array(
'' => __( 'None' ),
'Beginner' => __( 'Beginner' ),
'Intermediate' => __( 'Intermediate' ),
'Advanced' => __( 'Advanced' ),
'Native' => __( 'Native' )
)
)
);
return $fields;
}
function smyles_custom_frontend_exp_edu_links_fields( $fields ){
if ( ! isset( $fields['resume_fields'], $fields['resume_fields']['candidate_education'], $fields['resume_fields']['candidate_experience'], $fields['resume_fields']['links'] ) ) {
return $fields;
}
$fields['resume_fields']['links'] = array(
'label' => __( 'Language(s)' ),
'add_row' => __( 'Add Language' ),
'type' => 'links', // repeated
'required' => false,
'placeholder' => '',
'description' => __( 'Optionally provide languages and level for each.' ),
'priority' => 10,
'fields' => array(
'language' => array(
'label' => __( 'Language' ),
'type' => 'select',
'required' => true,
'placeholder' => '',
'priority' => 1,
'options' => array(
'*' => __( 'Please select a language' ),
'English' => __( 'English' ),
'Italian' => __( 'Italian' )
)
),
'level' => array(
'label' => __( 'Level' ),
'type' => 'select',
'required' => true,
'placeholder' => '',
'priority' => 2,
'options' => array(
'*' => __( 'Please select a level' ),
'Beginner' => __( 'Beginner' ),
'Intermediate' => __( 'Intermediate' ),
'Advanced' => __( 'Advanced' ),
'Native' => __( 'Native' )
)
)
)
);
return $fields;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment