
আসসালামু আলাইকুম । আমার পক্ষ থেকে টিটির সকল অভিজ্ঞ বড় ভাইয়াদেরকে সালাম জানাই । আশা করি সকলেই ভাল আছেন । যাই হোক বেশি কথা না বলে আসল কথায় আসি । বর্তমানে সব থেকে জনপ্রিয় ব্লগিং 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']);
}
আপাতত এই পর্যন্তই । ভাল লাগলে মন্তব্য করতে ভুলবেন না ।
আর কোন অসুবিধা হলে অবশ্যই জানাবেন । সময় পেলে আমার সাইট থেকে ঘুরে আসতে পারেন ।
আমি মিরাজ ম্যাক। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 10 টি টিউন ও 53 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
AFK
সাইটের সকল নতুন পোষ্ট সব সদস্যের ইমেইলে পাঠাতে চাই কিন্তু HTML format এ – Code জানা থাকলে শীঘ্রই জানান।