facebook-icon

Những thủ thuật WordPress đơn giản mà cần thiết

 

Trang này mình sẽ thêm thủ thuật liên tục tùy thuộc vào những vướng mắc trong công việc làm web cho khách hàng ngày hoặc có bạn nào đó gửi thủ thuật. Các bạn chú ý theo dõi nhé, biết đâu đấy có lúc bạn cần. 

Vô hiệu hóa chỉnh sửa File

Mặc định nếu bạn truy cập Appearance > Editor bạn sẽ sửa được mã nguồn của Theme (xem hình ảnh). Để bảo mật hơn cho website chúng ta nên tắt chức năng này đi khi website đã thiết kế hoàn chỉnh. Để tắt, bạn chỉ cần thêm đoạn code này vào file  wp-config.php.

// Disallow file edit
define( 'DISALLOW_FILE_EDIT', true );

Đổi Pass Admin WordPress trong database

Nếu chẳng may bạn quên mật khẩu truy cập website của bạn và ơn giời là bạn còn có thể truy cập vào database thì hãy truy cập vào bảng User và thay đoạn code bên dưới vào user_pass (xem hình ảnh).

$P$BN/Ukn4jQ4Xm0YDKT9h/I8YFrNdRZw0

Bây giờ bạn hãy đăng nhập website bằng pass là admin. Sau khi đăng nhập xong hãy đổi lại thành mật khẩu mạnh để bảo mật hơn nha.

Thêm nội dung vào trước và sau giá của sản phẩm trong Woocommerce

Bạn có nhiều website và nhiều mặt hàng khác nhau. Ví dụ web bán quần áo thì giá sẽ tính theo bộ. Còn web bán mật ong thì giá lại tính theo hộp, lọ; còn web bán bất động sản thì giá sẽ tính theo m2 chẳng hạn. Vì thế chúng ta sẽ thêm ghi chú đó vào giá để khách hàng dễ nhận biết.

Để thực hiện các bạn hãy cho đống code này vào file functions.php của theme:

/*Add default setting*/
function devvn_woocommerce_general_settings( $array ) {
 
    $array[] = array( 'name' => __( 'Prefix and suffix to price', 'woocommerce' ), 'type' => 'title', 'desc' => '', 'id' => 'woocommerce_presuffix_settings' );
 
    $array[] = array(
        'title'    => __( 'Prefix', 'woocommerce' ),
        'desc'     => __( 'Add prefix to price. Leave blank to disable.', 'woocommerce' ),
        'id'       => 'devvn_woocommerce_price_prefix',
        'desc_tip' => true,
        'type'     => 'text',
    );
 
    $array[] = array(
        'title'    => __( 'Suffix', 'woocommerce' ),
        'desc'     => __( 'Add suffix to price. Leave blank to disable.', 'woocommerce' ),
        'id'       => 'devvn_woocommerce_price_suffix',
        'desc_tip' => true,
        'type'     => 'text',
    );
 
    $array[] = array( 'type' => 'sectionend', 'id' => 'woocommerce_presuffix_settings');
    return $array;
};
add_filter( 'woocommerce_general_settings', 'devvn_woocommerce_general_settings', 10, 1 );
 
/*Add metabox to product*/
add_action( 'woocommerce_product_options_general_product_data', 'devvn_presuffix_products' );
function devvn_presuffix_products() {
    //Add metabox prefix to product
    woocommerce_wp_text_input( array(
        'id' => '_product_prefix',
        'label' => 'Prefix',
        'description' => 'Add prefix to price. Leave blank to default.',
        'desc_tip' => 'true',
    ) );
    //Add metabox suffix to product
    woocommerce_wp_text_input( array(
        'id' => '_product_suffix',
        'label' => 'Suffix',
        'description' => 'Add suffix to price. Leave blank to default.',
        'desc_tip' => 'true',
    ) );
}
 
/*Save metabox prefix and suffix*/
add_action( 'woocommerce_process_product_meta', 'devvn_presuffix_products_save' );
function devvn_presuffix_products_save( $post_id ) {
    if ( ! empty( $_POST['_product_prefix'] ) ) {
        update_post_meta( $post_id, '_product_prefix', esc_attr( $_POST['_product_prefix'] ) );
    }
    if ( ! empty( $_POST['_product_suffix'] ) ) {
        update_post_meta( $post_id, '_product_suffix', esc_attr( $_POST['_product_suffix'] ) );
    }
}
 
/*Add to price html*/
add_filter( 'woocommerce_get_price_html', 'bbloomer_price_prefix_suffix', 100, 2 );
function bbloomer_price_prefix_suffix( $price, $product ){
    $prefix = get_option( 'devvn_woocommerce_price_prefix');
    $suffix = get_option( 'devvn_woocommerce_price_suffix');
 
    $prefix_product = get_post_meta($product->get_ID(), '_product_prefix', true);
    $suffix_product = get_post_meta($product->get_ID(), '_product_suffix', true);
 
    if($prefix_product) $prefix = $prefix_product;
    if($suffix_product) $suffix = $suffix_product;
 
    $prefix = ($prefix)?'<span class="devvn_woocommerce_price_prefix">'.$prefix.'</span>':'';
    $suffix = ($suffix)?'<span class="devvn_woocommerce_price_suffix">'.$suffix.'</span>':'';
 
    $price = $prefix.$price.$suffix;
    return apply_filters( 'woocommerce_get_price', $price );
}

Sau đó bạn truy cập vào Woocommerce > Settings và bạn sẽ thấy chỗ để chỉnh sửa. Kết quả cũng sẽ được như demo như hình này (xem hình ảnh) – Nguồn thủ thuật: levantoan.com

Thêm tài khoản Admin qua FTP

Bạn lại đánh mất tài khoản hoặc mật khẩu admin rồi phải không? Hãy truy cập FTP > Vào thư mục Theme đang sử dụng (Xem hình ảnh) và tìm file functions.php sau đó thêm đoạn code này vào bên dưới:

function wpb_admin_account({}}
add_action('init','wpb_admin_account');

Đừng quên đổi Username , Password và email@domain.com thành của bạn. Sau đó lưu lại và bạn đã có thể truy cập vào admin website. Sau khi truy cập admin rồi thì thông tin này sẽ tự động được ghi vào database. Bạn hãy quay lại file functions.php và xóa thông tin mới thêm vào.

Tắt thông báo Update trong WordPress 

Bản thân mình khuyên các bạn không nên tắt chức năng thông báo Update trong WordPress. Bởi WordPress có tính năng update tự động rất hữu ích khi hệ thống cần cập nhập phiên bản mới, cập nhập tính năng hoặc bảo mật …  Nhưng ngược lại cũng có một số bạn lại không thích nó vì sợ xung đột code, lỗi còn tồn tại ở bản mới,… và họ muốn tắt nó đi. Thủ thuật này sẽ hướng dẫn các bạn cách tắt tự động update WordPress, theme, plugin trong WordPress.

Để tắt Tắt thông báo Update trong WordPress chúng ta sẽ có 2 cách là dùng Plugin hoặc Code. Nếu bạn muốn sử dụng Plugin cho nhanh thì bạn hãy sử dụng Plugin Easy Updates Manager Sau đó vào Bảng tin (Dashboard) > Updates Options. Các bạn có thể tùy chỉnh muốn tắt tự động update theme, plugin,… (Xem hình ảnh).

Nếu bạn muốn sử dụng Code:

Để tắt toàn bộ tính năng tự động cập nhật của WordPress, các bạn cần chèn code dưới đây vào file wp-config.php

define( 'WP_AUTO_UPDATE_CORE', false );

Còn nếu bạn chỉ muốn tắt tính năng đó ở Plugin thì chèn đoạn code sau vào file function.php.

add_filter( 'auto_update_plugin', '__return_false' );

Hoặc nếu bạn chỉ muốn tắt tính năng đó ở Theme thì chèn đoạn code sau vào file function.php.

add_filter( 'auto_update_theme', '__return_false' );

 

Hiển thị “Liên Hệ” khi không điền giá sản phẩm trong WooCommerce

Yêu cầu của thủ thuật này là làm thế nào để hiển thị thông báo “Liên hệ để biết giá” khi giá của sản phẩm bạn không điền vì sản phẩm cần được tư vấn hoặc bất kỳ lý do nào đó.

Bạn hãy cho đoạn Code bên dưới vào file function.php trong theme bạn đang sử dụng.

add_filter( 'woocommerce_get_price_html', 'my_custom_price_html', 100, 2 ); function my_custom_price_html( $price, $product ){ return 'Liên hệ để biết giá'; }

 

Sau khi chèn code xong thì tất cả các sản phẩm bạn không để giá sẽ hiển thị dòng chữ “Liên hệ để biết giá“. Tất nhiên, những sản phẩm nào bạn để giá thì vẫn hiển hiệu Button Add to Cart bình thường. Đây là một ví dụ cho dự án mình đang thực hiện (Xem hình ảnh)

………. update……….

 

5/5 - (100 bình chọn)