Tổng hợp các Function thường dùng trong WordPress

Trong bài viết này mình sẽ tổng hợp một số function mình hay sử dụng và cho là hữu ích khi tạo một website wordpress mới.

Kiểm tra định dạng số điện thoại 10 số Việt Nam khi dùng plugin Contact Form 7

function check_wpcf7_tel( $result, $tel ) { 
    $result = preg_match( '/^(0|\+84)(\s|\.)?((3[2-9])|(5[689])|(7[06-9])|(8[1-689])|(9[0-46-9]))(\d)(\s|\.)?(\d{3})(\s|\.)?(\d{3})$/', $tel );
    return $result; 
}
add_filter( 'wpcf7_is_tel', 'check_wpcf7_tel', 10, 2 );

Thêm Page Options trong quản trị khi dùng plugin Advanced Custom Fields


// Page Options
if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
        'page_title' 	=> 'Cài đặt chung', // Title hiển thị khi truy cập vào Options page
        'menu_title'	=> 'Cài đặt chung', // Tên menu hiển thị ở khu vực admin
        'menu_slug' 	=> 'cai-dat-chung', // Url hiển thị trên đường dẫn của options page
        'capability'	=> 'edit_posts',
        'redirect'	=> false
    ));
	
	acf_add_options_sub_page(array(			// Tạo page phụ cho options page
      'page_title'  => 'Tùy chỉnh trang chủ',	
      'menu_title'  => 'Trang chủ',			
      'parent_slug' => 'cai-dat-chung',		// slug page chính của option page
    ));

    acf_add_options_sub_page(array(
      'page_title'  => 'Tùy chỉnh đầu trang',
      'menu_title'  => 'Đầu trang',
      'parent_slug' => 'cai-dat-chung',
    ));

    acf_add_options_sub_page(array(
      'page_title'  => 'Tùy chỉnh chân trang',
      'menu_title'  => 'Chân trang',
      'parent_slug' => 'cai-dat-chung',
    ));
}

Xóa thông báo kích hoạt Flatsome trong quản trị


add_action( 'init', 'hide_notice' );
function hide_notice() {
    remove_action( 'admin_notices', 'flatsome_maintenance_admin_notice' );
}

Thêm hoặc xóa bắt buộc nhập thông tin của các field trong form đặt hàng của Woocommerce


//Form thông tin đặt hàng
add_filter( 'woocommerce_billing_fields', 'wc_npr_filter_phone', 10, 1 );
function wc_npr_filter_phone( $address_fields ) {
    $address_fields['billing_phone']['required'] = true;
    $address_fields['billing_country']['required'] = false;
    $address_fields['billing_last_name']['required'] = false;
    $address_fields['billing_city']['required'] = false;
    $address_fields['billing_postcode']['required'] = false;
    $address_fields['billing_email']['required'] = false;
    $address_fields['billing_state']['required'] = false;
    $address_fields['billing_address_1']['required'] = true;
    $address_fields['billing_address_2']['required'] = false;
    return $address_fields;

}

//Form thông tin ship hàng
add_filter( 'woocommerce_shipping_fields', 'wc_npr_filter_shipping_fields', 10, 1 );
function wc_npr_filter_shipping_fields( $address_fields ) {
    $address_fields['shipping_first_name']['required'] = true;
    $address_fields['shipping_last_name']['required'] = false;
    $address_fields['shipping_phone']['required'] = true;
    $address_fields['shipping_address_1']['required'] = true;
    $address_fields['shipping_address_2']['required'] = false;
    $address_fields['shipping_city']['required'] = false;
    $address_fields['shipping_country']['required'] = false;
    $address_fields['shipping_postcode']['required'] = false;
    $address_fields['shipping_state']['required'] = false;
    
    return $address_fields;
}
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

Xóa bỏ các field không cần thiết tại form đặt hàng woocoomerce


function custom_override_checkout_fields( $fields ) {
	 unset($fields['billing']['billing_company']);
	 //unset($fields['billing']['billing_address_1']);
	 unset($fields['billing']['billing_last_name']);
	 unset($fields['billing']['billing_address_2']);
	 unset($fields['billing']['billing_country']);
	 unset($fields['billing']['billing_city']);
	 unset($fields['billing']['billing_state']);
	 unset($fields['billing']['billing_postcode']);
	 //unset($fields['billing']['billing_email']);
	  unset($fields['shipping']['shipping_company']);
	 //unset($fields['billing']['billing_address_1']);
	 unset($fields['shipping']['shipping_last_name']);
	 unset($fields['shipping']['shipping_address_2']);
	 unset($fields['shipping']['shipping_country']);
	 unset($fields['shipping']['shipping_city']);
	 unset($fields['shipping']['shipping_state']);
	 unset($fields['shipping']['shipping_postcode']);
	 //unset($fields['shipping']['shipping_email']);
	 return $fields;
}

Tạo mã đơn Woocommer tùy chỉnh


add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );
function change_woocommerce_order_number( $order_id ) {
    $prefix = 'ORDX';
    $suffix = 'SUP';
    $new_order_id = $prefix . $order_id . $suffix;
    return $new_order_id;
}

Xóa thẻ H3 trong tiêu đề của form bình luận


add_filter( 'comment_form_defaults', 'custom_reply_title' );
function custom_reply_title( $defaults ){
  $defaults['title_reply_before'] = '';
  $defaults['title_reply_after'] = '';
  return $defaults;
}

Tắt Gutenberg Editor & Gutenberg Widget


// Disables the block editor from managing widgets in the Gutenberg plugin.
add_filter( 'gutenberg_use_widgets_block_editor', '__return_false', 100 );

// Disables the block editor from managing widgets. renamed from wp_use_widgets_block_editor
add_filter( 'use_widgets_block_editor', '__return_false' );

Xóa Menu item trong trang quản trị khi không phải là admin


add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {

	global $user_ID;
	if ( $user_ID != 1 ) { //kiểu tra ID user trước khi xóa

	   remove_menu_page('edit.php'); // Posts
	   remove_menu_page('upload.php'); // Media
	   remove_menu_page('link-manager.php'); // Links
	   remove_menu_page('edit-comments.php'); // Comments
	   remove_menu_page('edit.php?post_type=page'); // Pages
	   remove_menu_page('plugins.php'); // Plugins
	   remove_menu_page('themes.php'); // Appearance
	   remove_menu_page('users.php'); // Users
	   remove_menu_page('tools.php'); // Tools
	   remove_menu_page('options-general.php'); // Settings
	}
}

Tắt cập nhật tự động Theme và Plugin



// Disable Auto Update Themes
add_filter( 'auto_update_theme', '__return_false' );
// Disable Auto Update Plugins
add_filter( 'auto_update_plugin', '__return_false' );

Tắt cài đặt Themes – Plugins


define('DISALLOW_FILE_EDIT', TRUE);
define('DISALLOW_FILE_MODS',true);

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *


Có thể bạn quan tâm
20 lưu ý về WordPress cho người mới bắt đầu (2024)

WordPress đã đi được một chặng đường dài kể từ khi thành lập vào năm...