ওয়ার্ডপ্রেস কাষ্টমাইজেশন [পর্ব-৫] :: ওয়ার্ডপ্রেস সাইটের ইউজার প্রোফাইলে নতুন সেকশন সহ কাষ্টম ফিল্ড যুক্ত করবেন যেভাবে।

ওয়ার্ডপ্রেস কাষ্টমাইজেশন

চতুর্থ পর্বে আমরা দেখেছিলাম কিভাবে ওয়ার্ডপ্রেস সাইটের ইউজার প্রোফাইলে Contact Info সেকশনে কাষ্টম ফিল্ড যুক্ত করা যায়।

আজ দেখব কিভাবে ইউজার প্রোফাইলে নতুন সেকশন সহ প্রয়োজনীয় ফিল্ড তৈরী করতে পারি।

ডিফল্ট ভাবে ইউজার প্রোফাইলে বেশ কিছু সেকশন থাকে।যেমন,Contact Info,About Yourself ইত্যাদি।

যাহোক,আজ আমরা Extra Information নামে নতুন একটা সেকশন তৈরী করব যেখানে Mobile No,Profession এবং Location নামে তিনটা ইনপুট ফিল্ড থাকবে।

তাহলে চলুন শুরু করা যাক।

প্রথমে আপনার ওয়ার্ডপ্রেস সাইটে লগিন করুন।এরপর Dashboard থেকে Appearance>Editor এ যান এবং থিমের functions.php ফাইলটি এডিটরে ওপেন করুন।এরপর নিচের কোড টুকু কপি করে ?> এর আগে পেষ্ট করুন।আপনি চাইলে নতুন একটা পি.এইচ.পি ব্লকের মধ্যেও কোড টুকু পেষ্ট করতে পারেন।

/// Function to add Extra Information section with necessary field
function extra_user_info_profile_fields( $user ) { ?>
 <h3><?php _e('Extra Information', 'frontendprofile'); ?></h3>
 <table class="form-table">
 <tr>
   <th><label for="mobile">Mobile No</label></th>
   <td>
     <input type="text" name="mobile" id="mobile" value="<?php echo esc_attr( get_the_author_meta( 'mobile', $user->ID ) ); ?>" class="regular-text" /><br />
     <span class="description">Enter the Mobile Number</span>
   </td>
 </tr>
 <tr>
   <th><label for="profession">Profession</label></th>
   <td>
     <input type="text" name="profession" id="profession" value="<?php echo esc_attr( get_the_author_meta( 'profession', $user->ID ) ); ?>" class="regular-text" /><br />
     <span class="description">Enter Your Profession</span>
   </td>
 </tr>
 <tr>
   <th><label for="location">Location</label></th>
   <td>
     <input type="text" name="location" id="location" value="<?php echo esc_attr( get_the_author_meta( 'location', $user->ID ) ); ?>" class="regular-text" /><br />
     <span class="description">Enter Your Location</span>
   </td>
 </tr>
 </table>
<?php }

// Adding actions to show and edit the field
add_action( 'show_user_profile', 'extra_user_info_profile_fields', 11 );
add_action( 'edit_user_profile', 'extra_user_info_profile_fields', 11 );

/// This code for saving above custom field with new section

function save_extra_user_info_profile_fields( $user_id ) {

   if ( !current_user_can( 'edit_user', $user_id ) )
      return false;

   update_usermeta( $user_id, 'mobile', $_POST['mobile'] );
   update_usermeta( $user_id, 'profession', $_POST['profession'] );
   update_usermeta( $user_id, 'location', $_POST['location'] );
}

add_action( 'personal_options_update', 'save_extra_user_info_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_info_profile_fields' );

এরপর Dashboard থেকে User>Your Profile এ যান এবং স্ক্রল করে নিচে আসুন,লক্ষ্য করুন Extra Information নামে একটা নতুন একটা সেকশন যুক্ত হয়েছে।যেখানে Mobile No,Profession এবং Location নামে তিনটা ইনপুট ফিল্ড রয়েছে।

এখন উক্ত ইনপুট ফিল্ড থেকে পাওয়া ডেটা দেখানোর জন্য আপনার থিমের single.php ফাইলটি এডিটরে অপেন করে নিচের কোড টুকু যুক্ত করুন যেখানে আপনি দেখাতে চান।

Mobile: <?php the_author_meta('mobile'); ?> <br />
Profession: <?php the_author_meta('profession'); ?> <br />
Location: <?php the_author_meta('location'); ?>

আপনি চাইলে আপনার থিমে single.php ফাইলে পোষ্টের নিচে সুন্দর একটি অথর বস্ক তৈরি করে(যদি না থাকে)সেখানে দেখাতে পারেন।যেমনটা আমি করেছি।

ভাল থাকবেন সবাই।আজ এতটুকুই।

Level 2

আমি এস কে জয়। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 9 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 41 টি টিউন ও 494 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 4 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

সেরকম দামী কেউ না। খুব সাধারণ একজন মানুষ।প্রোগ্রামিং আর ইলেকট্রনিক্স সব থেকে বেশী ভাল লাগে। তাই এই দুইটাকেই জীবনের কাজ আর শখ হিসাবে যুক্ত করে নিয়েছি।ভাল লাগে শিখতে আর শেখাতে।ব্যাস এতটুকুই!


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস