Skip to content

Instantly share code, notes, and snippets.

@kish2011
Last active February 3, 2020 16:49
Show Gist options
  • Save kish2011/2d1e1574095ccb0880fa321e2847d0e9 to your computer and use it in GitHub Desktop.
Save kish2011/2d1e1574095ccb0880fa321e2847d0e9 to your computer and use it in GitHub Desktop.
Add [past_applications] ShortCode to BuddyPress Job Manager
function setup_past_application_nav() {
global $bp;
if ( ! class_exists( 'WP_Job_Manager' ) )
return;
if ( ! class_exists( 'BP_Job_Manager' ) )
return;
if ( ! class_exists( 'WP_Job_Manager_Applications' ) )
return;
$slug = bp_get_job_manager_slug();
$is_employer = bjm_is_employer();
// Determine user to use
if ( bp_displayed_user_domain() ) {
$user_domain = bp_displayed_user_domain();
} elseif ( bp_loggedin_user_domain() ) {
$user_domain = bp_loggedin_user_domain();
} else {
return;
}
$job_manager_link = trailingslashit( $user_domain . $slug );
// Add Past Application nav item.
if ( get_current_user_id() == bp_displayed_user_id() ) {
bp_core_new_subnav_item( array(
'name' => __( 'Past Application', 'buddypress' ),
'slug' => 'past-application',
'parent_url' => $job_manager_link,
'parent_slug' => $slug,
'screen_function' => 'bp_wp_job_manager_screen_past_application',
'position' => 90,
'user_has_access' => bp_core_can_edit_settings()
) );
}
}
add_action( 'bp_setup_nav', 'setup_past_application_nav');
/**
* Show the job_dashboard Job Manager template
*
* @since Job Manager (1.0.0)
*/
function bp_wp_job_manager_screen_past_application() {
if ( bp_action_variables() ) {
bp_do_404();
return;
}
bp_core_load_template( apply_filters( 'bp_wp_job_manager_screen_past_application', 'members/single/home' ) );
add_action('bp_template_content','load_past_application_template');
}
function load_past_application_template() {
// include file or echo do_shortcode @todo
//add_filter( 'job_manager_get_dashboard_jobs_args', 'function_to_change_dashboard_jobs_args', 10, 1 );
echo do_shortcode( '[past_applications]' );
//remove_filter( 'job_manager_get_dashboard_jobs_args', 'function_to_change_dashboard_jobs_args', 10, 1 );
}
add_action('bp_setup_admin_bar', 'setup_past_application_admin_bar',301);
function setup_past_application_admin_bar() {
global $wp_admin_bar, $bp;
if ( !bp_use_wp_admin_bar() || defined( 'DOING_AJAX' ) )
return;
if ( ! class_exists( 'WP_Job_Manager' ) )
return;
if ( ! class_exists( 'BP_Job_Manager' ) )
return;
if ( ! class_exists( 'WP_Job_Manager_Applications' ) )
return;
$slug = bp_get_job_manager_slug();
// Determine user to use
if ( bp_displayed_user_domain() ) {
$user_domain = bp_displayed_user_domain();
} elseif ( bp_loggedin_user_domain() ) {
$user_domain = bp_loggedin_user_domain();
} else {
return;
}
$job_manager_link = trailingslashit( $user_domain . $slug );
// Add Past Application nav item.
if ( get_current_user_id() == bp_displayed_user_id() ) {
// add submenu item
$wp_admin_bar->add_menu( array(
'parent' => 'my-account-job-manager',
'id' => 'my-account-job-manager-past-application',
'title' => __( 'Past Application', 'buddypress' ),
'href' => trailingslashit( $job_manager_link ) . 'past-application'
) );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment