Loading...
loading

purohit hbjkjjkn

  • Home
  • purohit hbjkjjkn
avatar

Ramesh Sharma

Purohit • 35 Yrs • 10 Yrs Experience

+91-98XXXXXXXX

✏️

🧘 My Profile

📅 Assigned Pujas

💰 My Wallet

Credit Points

0

⚙️ Settings




true ) ); } $labels = array('name'=>'Purohit Assignments','singular_name'=>'Purohit Assignment','menu_name'=>'Purohit Assignments'); $args = array('labels'=>$labels,'public'=>false,'show_ui'=>true,'supports'=>array('title'),'menu_icon'=>'dashicons-calendar-alt'); register_post_type( 'purohit_assignment', $args ); } add_action('init','pd_init_role_and_cpt'); /* ----------------------- 2) Admin: Assign Puja simple page ------------------------*/ function pd_admin_menu_assign() { add_users_page( 'Assign Puja to Purohit', 'Purohit Assign', 'manage_options', 'pd_assign_puja', 'pd_render_assign_puja_page' ); } add_action('admin_menu','pd_admin_menu_assign'); function pd_get_purohit_users() { return get_users( array( 'role' => 'purohit', 'orderby' => 'display_name' ) ); } function pd_render_assign_puja_page() { if ( ! current_user_can('manage_options') ) return; if ( isset($_POST['pd_assign_nonce']) && wp_verify_nonce( $_POST['pd_assign_nonce'], 'pd_assign_action' ) ) { $purohit_id = intval($_POST['purohit_id']); $puja_type = sanitize_text_field($_POST['puja_type']); $date = sanitize_text_field($_POST['puja_date']); $time = sanitize_text_field($_POST['puja_time']); $duration = sanitize_text_field($_POST['puja_duration']); $customer_name = sanitize_text_field($_POST['customer_name']); $customer_address = sanitize_textarea_field($_POST['customer_address']); $credit_points = floatval($_POST['credit_points']); $post_id = wp_insert_post(array('post_type'=>'purohit_assignment','post_title'=>$puja_type.' for '.$customer_name,'post_status'=>'publish')); if($post_id){ update_post_meta($post_id,'purohit_id',$purohit_id); update_post_meta($post_id,'puja_type',$puja_type); update_post_meta($post_id,'puja_date',$date); update_post_meta($post_id,'puja_time',$time); update_post_meta($post_id,'puja_duration',$duration); update_post_meta($post_id,'customer_name',$customer_name); update_post_meta($post_id,'customer_address',$customer_address); update_post_meta($post_id,'credit_points',$credit_points); update_post_meta($post_id,'assignment_status','assigned'); echo '

Assignment created.

'; } } $purohits = pd_get_purohit_users(); ?>

Assign Puja to Purohit

Purohit
Puja Type
Date
Time
Duration (hrs)
Customer Name
Customer Address
Credit Points

Recent Assignments

'purohit_assignment','posts_per_page'=>20)); foreach($assigns as $a){ $pid = get_post_meta($a->ID,'purohit_id',true); $pname = $pid ? get_userdata($pid)->display_name : '-'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } ?>
IDPurohitPujaDateTimeCreditsStatus
'.esc_html($a->ID).''.esc_html($pname).''.esc_html(get_post_meta($a->ID,'puja_type',true)).''.esc_html(get_post_meta($a->ID,'puja_date',true)).''.esc_html(get_post_meta($a->ID,'puja_time',true)).''.esc_html(get_post_meta($a->ID,'credit_points',true)).''.esc_html(get_post_meta($a->ID,'assignment_status',true)).'
$label){ $new[$key] = $label; if('dashboard' === $key) $new['purohit-dashboard'] = 'Purohit Dashboard'; } return $new; } add_filter('woocommerce_account_menu_items','pd_add_account_menu_item'); /* ----------------------- 4) Endpoint content (My Account) ------------------------*/ function pd_purohit_dashboard_content(){ if(!is_user_logged_in()){ echo '

Please login.

'; return; } $user_id = get_current_user_id(); $user = wp_get_current_user(); // load usermeta $age = get_user_meta($user_id,'pd_age',true); $phone = get_user_meta($user_id,'pd_phone',true); $experience = get_user_meta($user_id,'pd_experience',true); $languages = get_user_meta($user_id,'pd_languages',true); $puja_types = get_user_meta($user_id,'pd_puja_types',true); $bio = get_user_meta($user_id,'pd_bio',true); $photo = get_user_meta($user_id,'pd_photo',true); // compute wallet (sum credits of completed assignments) $assigns_completed = get_posts(array('post_type'=>'purohit_assignment','meta_query'=>array( array('key'=>'purohit_id','value'=>$user_id,'compare'=>'='), array('key'=>'assignment_status','value'=>'completed','compare'=>'=') ),'posts_per_page'=>-1)); $wallet = 0; foreach($assigns_completed as $a) $wallet += floatval(get_post_meta($a->ID,'credit_points',true)); // output HTML similar to Option A but inside WC My Account ?>
photo

display_name); ?>

'.esc_html($phone).'

'; ?> Experience: '.esc_html($experience).' Yrs

'; ?>

Edit Profile

Assigned Pujas

'purohit_assignment','meta_key'=>'purohit_id','meta_value'=>$user_id,'posts_per_page'=>-1)); if(!$assigned){ echo '

No assignments yet.

'; } foreach($assigned as $as){ $puja = get_post_meta($as->ID,'puja_type',true); $date = get_post_meta($as->ID,'puja_date',true); $time = get_post_meta($as->ID,'puja_time',true); $cust = get_post_meta($as->ID,'customer_name',true); $addr = get_post_meta($as->ID,'customer_address',true); $credits = get_post_meta($as->ID,'credit_points',true); $status = get_post_meta($as->ID,'assignment_status',true); echo '

'.esc_html($puja).' ('.esc_html($status).')

'; echo '

Date: '.esc_html($date).'   Time: '.esc_html($time).'

'; echo '

Customer: '.esc_html($cust).'

'; echo '

Address: '.nl2br(esc_html($addr)).'

'; echo '

Credit Points: '.esc_html($credits).'

'; } ?>

My Wallet

Credit Points

Settings

$uid,'display_name'=>sanitize_text_field($_POST['pd_name']))); if(isset($_POST['pd_age'])) update_user_meta($uid,'pd_age',sanitize_text_field($_POST['pd_age'])); if(isset($_POST['pd_phone'])) update_user_meta($uid,'pd_phone',sanitize_text_field($_POST['pd_phone'])); if(isset($_POST['pd_experience'])) update_user_meta($uid,'pd_experience',sanitize_text_field($_POST['pd_experience'])); if(isset($_POST['pd_languages'])) update_user_meta($uid,'pd_languages',sanitize_text_field($_POST['pd_languages'])); if(isset($_POST['pd_puja_types'])) update_user_meta($uid,'pd_puja_types',sanitize_text_field($_POST['pd_puja_types'])); if(isset($_POST['pd_bio'])) update_user_meta($uid,'pd_bio',sanitize_textarea_field($_POST['pd_bio'])); if(isset($_POST['pd_photo'])) update_user_meta($uid,'pd_photo',esc_url_raw($_POST['pd_photo'])); wp_send_json_success(); } add_action('wp_ajax_pd_save_profile','pd_ajax_save_profile'); function pd_ajax_save_settings(){ if(!is_user_logged_in()) wp_send_json_error(); $uid = intval($_POST['user_id']); if($uid !== get_current_user_id() && ! current_user_can('manage_options')) wp_send_json_error(); update_user_meta($uid,'pd_notify', isset($_POST['pd_notify']) && $_POST['pd_notify'] == 1 ? 1 : 0); update_user_meta($uid,'pd_show_phone', isset($_POST['pd_show_phone']) && $_POST['pd_show_phone'] == 1 ? 1 : 0); update_user_meta($uid,'pd_auto_assign', isset($_POST['pd_auto_assign']) && $_POST['pd_auto_assign'] == 1 ? 1 : 0); wp_send_json_success(); } add_action('wp_ajax_pd_save_settings','pd_ajax_save_settings'); /* ----------------------- 6) Optional: AJAX endpoint to return assignments + wallet for Option A ------------------------*/ function pd_ajax_get_assignments(){ if(!is_user_logged_in()) wp_send_json_error(); $uid = get_current_user_id(); $assigns = get_posts(array('post_type'=>'purohit_assignment','meta_key'=>'purohit_id','meta_value'=>$uid,'posts_per_page'=>-1)); $list = array(); $wallet = 0; foreach($assigns as $a){ $puja = get_post_meta($a->ID,'puja_type',true); $date = get_post_meta($a->ID,'puja_date',true); $time = get_post_meta($a->ID,'puja_time',true); $cust = get_post_meta($a->ID,'customer_name',true); $addr = get_post_meta($a->ID,'customer_address',true); $credits = floatval(get_post_meta($a->ID,'credit_points',true)); $status = get_post_meta($a->ID,'assignment_status',true); $list[] = array( 'puja_type'=>$puja, 'puja_date'=>$date, 'puja_time'=>$time, 'customer_name'=>$cust, 'customer_address'=>$addr, 'credit_points'=>$credits, 'status'=>$status ); if($status === 'completed') $wallet += $credits; } wp_send_json_success(array('assignments'=>$list,'wallet'=>$wallet)); } add_action('wp_ajax_pd_get_assignments','pd_ajax_get_assignments'); /* ----------------------- 7) Flush rewrite helper (call once or save permalinks) ------------------------*/ function pd_flush_rewrites_helper(){ pd_add_account_endpoint(); flush_rewrite_rules(); } // call pd_flush_rewrites_helper() once after adding plugin, or just save permalinks manually /* ----------------------- 8) Shortcode for quick link ------------------------*/ function pd_dashboard_link_shortcode(){ return 'My Purohit Dashboard'; } add_shortcode('purohit_dashboard_link','pd_dashboard_link_shortcode'); ?>
💬
P24
Purohit24 Support
Online
×