Advertisement
Guest User

ridingforlife code sample #2

a guest
Mar 24th, 2012
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. // Create custom meta box
  2. add_action( 'add_meta_boxes', 'mrlpt_project_meta_box', 1 ); // Set priority to avoid plugin conflicts
  3.  
  4. function mrlpt_project_meta_box() {
  5. add_meta_box( 'mrlpt-meta-box', 'Project Details', 'mrlpt_project_meta_data', 'mrlpt_project', 'normal', 'high' );
  6. }
  7.  
  8. // Function that is called above to display the content within the meta box tited "Project Details"
  9. function mrlpt_project_meta_data( $project_post ) {
  10.  
  11. // Includes the form that is inside the meta box
  12. require_once( 'includes/mrlpt-project-meta.php' );
  13.  
  14. // Retrieve saved meta data if it exists
  15. $mrlpt_projectCategory = get_post_meta( $project_post->ID, '_mrlpt_project_category', true );
  16. $mrlpt_projectType = get_post_meta( $project_post->ID, '_mrlpt_project_type', true );
  17. $mrlpt_mrlLead = get_post_meta( $project_post->ID, '_mrlpt_project_mrl_lead', true );
  18. $mrlpt_projectClient = get_post_meta( $project_post->ID, '_mrlpt_project_client', true );
  19. $mrlpt_budget = get_post_meta( $project_post->ID, '_mrlpt_project_budget', true );
  20. $mrlpt_startDate = get_post_meta( $project_post->ID, '_mrlpt_project_start_date', true );
  21. $mrlpt_deadline = get_post_meta( $project_post->ID, '_mrlpt_project_deadline', true );
  22.  
  23. }
  24.  
  25. // Update/Save project meta data
  26. add_action('save_post', 'save_project_meta_box');
  27.  
  28. function save_project_meta_box( $project_post_id ) {
  29.  
  30. // Check nonce
  31. if (!isset($_POST['mrlpt_project_nonce']) || !wp_verify_nonce($_POST['mrlpt_project_nonce'], 'mrlpt_project_meta_box')) {
  32. return $project_post_id;
  33. }
  34.  
  35. // Check permissions
  36. if ( 'post' == $_POST['post_type'] ) {
  37. if ( !current_user_can( 'edit_post', $project_post_id ) ) {
  38. return $project_post_id;
  39. }
  40. } else {
  41. if ( !current_user_can( 'edit_page', $project_post_id ) ) {
  42. return $project_post_id;
  43. }
  44. }
  45.  
  46. // Verify if this is an auto save routine.
  47. // If it is our form has not been submitted, so we dont want to do anything
  48. if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
  49. return $project_post_id;
  50. }
  51.  
  52. // OK, we're authenticated: we need to find and save the data
  53. // Verify the meta data is set
  54. if ( isset( $_POST['mrlpt_project_category'] ) && isset( $_POST['mrlpt_project_type'] ) && isset( $_POST['mrlpt_project_mrl_lead'] ) && isset( $_POST['mrlpt_project_client'] ) && isset( $_POST['mrlpt_project_budget'] ) && isset( $_POST['mrlpt_project_start_date'] ) && isset( $_POST['mrlpt_project_deadline'] ) ) {
  55. // Save meta data
  56. update_post_meta( $project_post_id, '_mrlpt_project_category', strip_tags( $POST['mrlpt_project_category'] ) );
  57. update_post_meta( $project_post_id, '_mrlpt_project_type', strip_tags( $POST['mrlpt_project_type'] ) );
  58. update_post_meta( $project_post_id, '_mrlpt_project_mrl_lead', strip_tags( $POST['mrlpt_project_mrl_lead'] ) );
  59. update_post_meta( $project_post_id, '_mrlpt_project_client', strip_tags( $POST['mrlpt_project_client'] ) );
  60. update_post_meta( $project_post_id, '_mrlpt_project_budget', strip_tags( $POST['mrlpt_project_budget'] ) );
  61. update_post_meta( $project_post_id, '_mrlpt_project_start_date', strip_tags( $POST['mrlpt_project_start_date'] ) );
  62. update_post_meta( $project_post_id, '_mrlpt_project_deadline', strip_tags( $POST['mrlpt_project_deadline'] ) );
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement