MỤC LỤC BÀI VIẾT
Tổng hợp code function hay trong WordPress
Dưới đây là tổng hợp một số code thêm chức năng cho WordPress thông qua file function.php trong thư mục theme mà bạn đang sử dụng. Bạn chỉ cần sao chép code về rồi dán vào file function.php rồi lưu lại là xong.
Xóa thanh điều khiển Admin
1 | add_filter( 'show_admin_bar', '__return_false' ); |
Nén code tăng tốc cho trang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | function sanitize_output($buffer) { $search = array( '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s' ); $replace = array( '>', '<', '\\1' ); $buffer = preg_replace($search, $replace, $buffer); return $buffer; } ob_start("sanitize_output"); |
Đếm số ký tự trong bài viết
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function post_word_count() { global $post; $words = str_word_count( strip_tags( get_post_field( 'post_content', get_the_ID() ) ) ); $time = $words/250; if ( $time < 1) { echo 1; } else { echo round($time, 1, PHP_ROUND_HALF_UP); } } |
Để hiển thị ra bạn sử dụng đoạn code bên dưới
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php echo post_word_count(); ?> Thêm nhóm thành viên quản trị $add_group_user = add_role('Modquanly', __( 'Mod quản lý' ), array( 'upload_files' => true, // duoc phep ipload file 'edit_others_pages' => true, // duoc phep sua trang 'edit_posts' => true, // duoc phep su bai viet 'publish_posts' => true, // duoc phep xet duyet bai viet 'read' => true, 'level_3' => true, ) ); Sử dụng font chữ Google cho WordPress function google_fonts() { wp_register_style( 'OpenSans', '//fonts.googleapis.com/css?family=Open+Sans:400,600,700,800' ); wp_enqueue_style( 'OpenSans' ); } add_action( 'wp_print_styles', 'google_fonts' ); |
Hiển thị thời gian ở mục bình luận theo dạng bao nhiêu phút trước
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | function pressfore_comment_time_output($date, $d, $comment){ return sprintf( _x( '%s trước', '%s = human-readable time difference', 'your-text-domain' ), human_time_diff( get_comment_time( 'U' ), current_time( 'timestamp' ) ) ); } add_filter('get_comment_date', 'pressfore_comment_time_output', 10, 3); Phân biệt từng nhóm thành viên ở mục bình luận if ( ! class_exists( 'WPB_Comment_Author_Role_Label' ) ) : class WPB_Comment_Author_Role_Label { public function __construct() { add_filter( 'get_comment_author', array( $this, 'wpb_get_comment_author_role' ), 10, 3 ); add_filter( 'get_comment_author_link', array( $this, 'wpb_comment_author_role' ) ); } function wpb_get_comment_author_role($author, $comment_id, $comment) { $authoremail = get_comment_author_email( $comment); if (email_exists($authoremail)) { $commet_user_role = get_user_by( 'email', $authoremail ); $comment_user_role = $commet_user_role->roles[0]; $this->comment_user_role = ' <span class="comment-author-label comment-author-label-'.$comment_user_role.'">' . ucfirst($comment_user_role) . '</span>'; } else { $this->comment_user_role = ''; } return $author; } function wpb_comment_author_role($author) { return $author .= $this->comment_user_role; } } new WPB_Comment_Author_Role_Label; endif; |
Thêm đoạn css bên dưới để thay đổi màu cho từng nhóm thành viên.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | .comment-author-label { padding: 5px; font-size: 14px; border-radius: 3px; } .comment-author-label-editor { color:#66666; } .comment-author-label-author { color:#66666; } .comment-author-label-contributor { color:#44444; } .comment-author-label-subscriber { color:#00cc00; } .comment-author-label-administrator { color:#ff3333; } |
Tắt Widget không dùng tới
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | add_action( 'widgets_init', function () { unregister_widget( 'WP_Widget_Pages' ); unregister_widget( 'WP_Widget_Calendar' ); unregister_widget( 'WP_Widget_Archives' ); unregister_widget( 'WP_Widget_Links' ); unregister_widget( 'WP_Widget_Meta' ); unregister_widget( 'WP_Widget_Search' ); unregister_widget( 'WP_Widget_Text' ); unregister_widget( 'WP_Widget_Categories' ); unregister_widget( 'WP_Widget_Recent_Posts' ); unregister_widget( 'WP_Widget_Recent_Comments' ); unregister_widget( 'WP_Widget_RSS' ); unregister_widget( 'WP_Widget_Tag_Cloud' ); unregister_widget( 'WP_Nav_Menu_Widget' ); }, 11); Chỉ Admin mới được phép truy cập vào trình quản lý WordPress function lovend_redirect(){ $kiemtra = get_current_user_id(); if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('editor') || current_user_can('author') || current_user_can('subscriber') || current_user_can('contributor') ) ){ wp_redirect( home_url() ); exit; } } add_action('init','lovend_redirect'); Thêm ô nhập thông tin cho thành viên ở hồ sơ thành viên function add_fields_user($profile_fields){ $profile_fields['phone'] = 'Phone'; $profile_fields['namsinh'] = 'Năm Sinh'; $profile_fields['facebook'] = 'Facebook'; return $profile_fields; } add_filter('user_contactmethods', 'add_fields_user'); Bỏ menu không cần thiết trong trình quản lý WordPress add_action( 'admin_menu', function () { // Bỏ Dashboard remove_menu_page( 'index.php' ); // Bỏ Posts remove_menu_page( 'edit.php' ); // Bỏ Posts -> Categories remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' ); // Bỏ Posts -> Tags remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' ); // Bỏ Media remove_menu_page( 'upload.php' ); // Bỏ Media -> Library remove_submenu_page( 'upload.php', 'upload.php' ); // Bỏ Media -> Add new media remove_submenu_page( 'upload.php', 'media-new.php' ); // Bỏ Pages remove_menu_page( 'edit.php?post_type=page' ); // Bỏ Pages -> All pages remove_submenu_page( 'edit.php?post_type=page', 'edit.php?post_type=page' ); // Bỏ Pages -> Add new page remove_submenu_page( 'edit.php?post_type=page', 'post-new.php?post_type=page' ); // Bỏ Comments remove_menu_page( 'edit-comments.php' ); // Bỏ Appearance remove_menu_page( 'themes.php' ); // Bỏ Appearance -> Themes remove_submenu_page( 'themes.php', 'themes.php' ); // Bỏ Appearance -> Customize remove_submenu_page( 'themes.php', 'customize.php?return=' . urlencode( $_SERVER['REQUEST_URI'] ) ); // Bỏ Appearance -> Widgets remove_submenu_page( 'themes.php', 'widgets.php' ); // Bỏ Appearance -> Menus remove_submenu_page( 'themes.php', 'nav-menus.php.php' ); // Bỏ Appearance -> Editor remove_submenu_page( 'themes.php', 'theme-editor.php' ); // Bỏ Plugins remove_menu_page( 'plugins.php' ); // Bỏ Plugins -> Installed plugins remove_submenu_page( 'plugins.php', 'plugins.php' ); // Bỏ Plugins -> Add new plugins remove_submenu_page( 'plugins.php', 'plugin-install.php' ); // Bỏ Plugins -> Plugin editor remove_submenu_page( 'plugins.php', 'plugin-editor.php' ); // Bỏ Users remove_menu_page( 'users.php' ); // Bỏ Users -> Users remove_submenu_page( 'users.php', 'users.php' ); // Bỏ Users -> New user remove_submenu_page( 'users.php', 'user-new.php' ); // Bỏ Users -> Your profile remove_submenu_page( 'users.php', 'profile.php' ); // Bỏ Tools remove_menu_page( 'tools.php' ); // Bỏ Tools -> Available Tools remove_submenu_page( 'tools.php', 'tools.php' ); // Bỏ Tools -> Import remove_submenu_page( 'tools.php', 'import.php' ); // Bỏ Tools -> Export remove_submenu_page( 'tools.php', 'export.php' ); // Bỏ Settings remove_menu_page( 'options-general.php' ); // Bỏ Settings -> Writing remove_submenu_page( 'options-general.php', 'options-writing.php' ); // Bỏ Settings -> Reading remove_submenu_page( 'options-general.php', 'options-reading.php' ); // Bỏ Settings -> Discussion remove_submenu_page( 'options-general.php', 'options-discussion.php' ); // Bỏ Settings -> Media remove_submenu_page( 'options-general.php', 'options-media.php' ); // Bỏ Settings -> Permalinks remove_submenu_page( 'options-general.php', 'options-permalink.php' ); }, 999); |
Xóa nhóm thành viên mặc định trên WordPress
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | add_action( 'admin_init', function () { remove_role( 'administrator' ); // nhóm admin remove_role( 'editor' ); // nhóm biên tập viên remove_role( 'author' ); // nhóm tác giả remove_role( 'contributor' ); // nhóm cộng tác viên remove_role( 'subscriber' ); // nhóm thành viên }); Bỏ các chức năng không cần thiết trong mục Media add_filter('media_view_strings', function ( $strings ) { $strings['createGalleryTitle'] = null; // Bỏ nút "Create gallery" $strings['createPlaylistTitle'] = null; // Bỏ nút "Create Audio Playlist" $strings['createVideoPlaylistTitle'] = null; // Bỏ nút "Create Video Playlist" $strings['insertFromUrlTitle'] = null; // Bỏ nút "Inset from URL" return $strings; }); |