আসসালামু আলাইকুম । আমার পক্ষ থেকে টিটির সকল অভিজ্ঞ বড় ভাইয়াদেরকে সালাম জানাই । আশা করি সকলেই ভাল আছেন । যাই হোক বেশি কথা না বলে আসল কথায় আসি । বর্তমানে সব থেকে জনপ্রিয় ব্লগিং CMS হচ্ছে ওয়ার্ডপ্রেস । তবে ওয়ার্ডপ্রেসের ব্যবহার শুধু ব্লগিং - এই সীমাবদ্ধ নেই । এমন অনেক কিছুই করা যায় ওয়ার্ডপ্রেস দিয়ে যা আপনি কল্পনাও করতে পারবেন না । যদি পারেন তাহলে আমার দোষ না এসব নিয়ে অন্য একদিন আলোচনা করব । ওয়ার্ডপ্রেস সাইট চালান অথচ প্লাগিন ব্যবহার করেন না এরকম লোক গুগলেও খুজে পাওয়া দুস্কর! আসলে প্লাগিনকে ওয়ার্ডপ্রেস সাইটের প্রাণ বলা যেতে পারে ।
প্লাগিনের ব্যবহার যেভাবে আপনার সাইটকে উন্নত করতে সাহায্য করে আবার অতিরিক্ত প্লাগিনের ব্যবহার আপনার সাইটকে স্লো করে দিতে পারে । তাছাড়া অনেক ফ্রি/Nulled প্লাগিনে ক্ষতিকারক কোড লুকিয়ে থাকে । যেগুলা আপনার সাইটে Backdoor সৃষ্টি করে । জ্বি, ব্যাকডোর অর্থ পেছনের দরজা । বাড়ির সামনের দরজায় তালা ঝুলিয়ে রেখে যদি আপনি পেছনের দরজা খুলে রাখেন, তাহলে চোরের আসতে কোন অসুবিধাই হবে না । একইভাবে এইসব প্লাগিনে লুকিয়ে থাকা ব্যাকডোর আপনার সাইটকে হ্যাকারদের জন্য উন্মুক্ত করে দেয় । এখন আপনি বলবেন যে, "অনেকেই দেখি এরকম প্লাগিন ব্যবহার করে, কিন্তু কিছুই হয় না" ।
হুম আপনার কথা ঠিক আছে । কিন্তু আমি এমন অনেকে লোককে জানি, যাদের সাইট প্লাগিন ইনষ্টলের কয়েক মাস পরে সাইট হ্যাক হয়েছে । তবে কি আপনি প্লাগিনের ব্যবহার বন্ধ করে দেবেন? না কখনোই না । তবে যেসব কাজ সহজেই করা যায় কয়েক লাইনের কোড লিখে, সেসব কাজের জন্য প্লাগিন ব্যবহার করা অযৈক্তিক । এই সিরিজে আমি সেটাই তুলে ধরব । অভিজ্ঞ যারা আছেন তারা আমার ভুল গুলো শুধরে দেবেন আশা করি ।
এই কোডগুলা ব্যবহারের সময় FTP/cPanel File Manager ব্যবহার করলে সবচেয়ে ভাল হয় । কারণ ওয়ার্ডপ্রেস দিয়ে এডিট করার সময়(Apparance > Editor > functions.php ) ভুল হলে সাইট এক্সেস করা যায় না । কোডগুলা আপনার থিমের functions.php ফাইলের একদম শেষের ;?> এর আগে বসাবেন । যদি পিএইচপি সম্পর্কে ধারণা থাকে তাহলে আপনার ইচ্ছামত বসাতে পারেন ।
//Sends new post list automatically to all users email function newPostNotify($post_ID) { if( wp_is_post_revision($post_ID) ) return; global $wpdb; $get_post_info = get_post($post_ID); if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { // Get all of the emails from the database $wp_user_email = $wpdb->get_results("SELECT DISTINCT user_email FROM $wpdb->users"); // Send emails to each of registered users foreach ( $wp_user_email as $email ) { // Email subject $subject = 'New Posts from MirazMac.Info '; // Messages:new post url:+ URL $message = 'View this new post now:' . get_permalink($post_ID); // Send email wp_mail($email->user_email, $subject, $message); } } } add_action('publish_post', 'newPostNotify');
##Removing Unusal menu## function hide_yoastseo() { remove_action('admin_bar_menu', 'wpseo_admin_bar_menu',95); remove_menu_page('wpseo_dashboard'); } add_action( 'admin_init', 'hide_yoastseo'); #Remove Contact Form 7 Links from dashboard menu items if not admin # if (!(current_user_can('administrator'))) { function remove_wpcf7() { remove_menu_page( 'wpcf7' ); } add_action('admin_menu', 'remove_wpcf7'); }
add_filter( 'contextual_help', 'mytheme_remove_help_tabs', 999, 3 ); function mytheme_remove_help_tabs($old_help, $screen_id, $screen){ $screen->remove_help_tabs(); return $old_help; }
//Adding Shortcodes support add_filter('wp_nav_menu_items', 'do_shortcode'); add_filter('widget_text', 'do_shortcode'); //Adding PHP Support add_filter('widget_text','execute_php',100); function execute_php($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; }
// custom login message function custom_login_message() { $message = "<div style='background: none repeat scroll 0% 0% #F8FFC7; padding: 8px; text-align: center; color: #9E9E9E; border: 1px solid #E7E7BD;'>If you already have an account in <b>MiraZMac.Info</b>, then Log In below. Otherwise Click Register and create an account to start writing posts.</div>"; return $message; } add_filter('login_message', 'custom_login_message');
N.B: উপরের কোডের $message=".." এখানে আপনার ইচ্ছামত মেসেজ দিতে পারেন (HTML Supported)
function auto_featured_image() { global $post; if (!has_post_thumbnail($post->ID)) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } // Use it temporary to generate all featured images add_action('the_post', 'auto_featured_image'); // Used for new posts add_action('save_post', 'auto_featured_image'); add_action('draft_to_publish', 'auto_featured_image'); add_action('new_to_publish', 'auto_featured_image'); add_action('pending_to_publish', 'auto_featured_image'); add_action('future_to_publish', 'auto_featured_image');
## Only Users post in Backend ## function posts_for_current_author($query) { global $user_level; if($query->is_admin && $user_level < 5) { global $user_ID; $query->set('author', $user_ID); unset($user_ID); } unset($user_level); return $query; } add_filter('pre_get_posts', 'posts_for_current_author'); ## Only Users own post comment## function wps_get_comment_list_by_user($clauses) { if (is_admin()) { global $user_ID, $wpdb; $clauses['join'] = ", ".$wpdb->base_prefix."posts"; $clauses['where'] .= " AND ".$wpdb->base_prefix."posts.post_author = ".$user_ID." AND ".$wpdb->base_prefix."comments.comment_post_ID = ".$wpdb->base_prefix."posts.ID"; }; return $clauses; }; if(!current_user_can('edit_others_posts')) { add_filter('comments_clauses', 'wps_get_comment_list_by_user'); }
function remove_dashboard_widgets() { global $wp_meta_boxes; unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']); unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']); }
আপাতত এই পর্যন্তই । ভাল লাগলে মন্তব্য করতে ভুলবেন না ।
আর কোন অসুবিধা হলে অবশ্যই জানাবেন । সময় পেলে আমার সাইট থেকে ঘুরে আসতে পারেন ।
আমি মিরাজ ম্যাক। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 10 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 10 টি টিউন ও 53 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
AFK
সাইটের সকল নতুন পোষ্ট সব সদস্যের ইমেইলে পাঠাতে চাই কিন্তু HTML format এ – Code জানা থাকলে শীঘ্রই জানান।