Trong quá trình làm việc với wordpress mình đã góp nhặt được một số hàm thường xuyên sử dụng, bởi vì nó rất hữu ích, để tránh mất thời gian viết hàm mới. Mình xin chia sẻ cho bạn một số function wp thông dụng hy vọng sẽ giúp ích cho bạn.
wp_head
wp_head()
là function dùng để gắn các tài nguyên vào website của bạn, ví dụ như styles, script hoặc meta tags. Tài nguyên này bao gồm của theme và plugins. Nên nhớ đặt wp_head
ngay trước thẻ đóng </head>
, xem ví dụ bên dưới:
<head>
<!-- First add the elements you need in <head>; then last, add: -->
<?php wp_head(); ?>
</head>
wp_footer
Cũng gần giống như wp_head, wp_footer
là function wp dùng để gắn các tài nguyên javascripts của theme và plugins vào website. Nên nhớ đặt wp_footer
trước thẻ đóng </body>
<body>
<!-- All the document's HTML goes first. -->
<!-- Then last, before closing the body tag, add: -->
<?php wp_footer(); ?>
</body>
get_header
get_header( string $name = null )
Dùng để load header của theme, có nghĩa là nó sẽ copy toàn bộ code từ file header.php vào file hiện tại của bạn đang code. Trong trường hợp bạn muốn tạo một template mới cho page.
Trong theme của bạn sẽ có 1 file header.php
, khi bạn sử dụng hàm get_header()
thì file header.php
sẽ được load lên.
Nếu bạn có nhiều header khác nhau, header-home.php
và header-404.php
thì bạn hãy điền thêm tham số cho hàm.
Lưu ý: file cần nằm ở thư mục gốc của theme.
<?php
if ( is_home() ) :
get_header( 'home' );
elseif ( is_404() ) :
get_header( '404' );
else :
get_header();
endif;
?>
get_footer
get_footer( string $name = null )
Tương tự như get_header()
, dùng để load footer.php
của theme. Nếu bạn có file footer là footer-special.php
thì bạn điền tham số vào hàm:
<?php get_footer( 'special' ); ?>
Lưu ý: file cần nằm ở thư mục gốc của theme.
wp_hash_password
wp_hash_password( string $password )
Dùng để mã hóa password
trước khi bạn muốn lưu vào database
. Hoặc bạn cần kiểm tra xem mật khẩu có hợp lệ không, khi so sánh password
nhập vào so với password trong database
.
$hash = wp_hash_password( $password );
<?php
$wp_hasher = new PasswordHash(8, TRUE); // 8 vòng băm
$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';
if($wp_hasher->CheckPassword($plain_password, $password_hashed)) {
echo "YES, Matched";
} else {
echo "No, Wrong Password";
}
?>
wp_get_current_user
Trả về thông tin của user hiện tại đang đã đăng nhập. Bao gồm user login, password email, first name, last name, display name, ID.
<?php
$current_user = wp_get_current_user();
/*
* @example Safe usage: $current_user = wp_get_current_user();
* if ( ! ( $current_user instanceof WP_User ) ) {
* return;
* }
*/
printf( __( 'Username: %s', 'textdomain' ), esc_html( $current_user->user_login ) ) . '<br />';
printf( __( 'User email: %s', 'textdomain' ), esc_html( $current_user->user_email ) ) . '<br />';
printf( __( 'User first name: %s', 'textdomain' ), esc_html( $current_user->user_firstname ) ) . '<br />';
printf( __( 'User last name: %s', 'textdomain' ), esc_html( $current_user->user_lastname ) ) . '<br />';
printf( __( 'User display name: %s', 'textdomain' ), esc_html( $current_user->display_name ) ) . '<br />';
printf( __( 'User ID: %s', 'textdomain' ), esc_html( $current_user->ID ) );
printf( __( 'User Password: %s', 'textdomain' ), esc_html( $current_user->user_pass ) );
?>
wp_safe_redirect
wp_safe_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )
Chuyển hướng an toàn đến url khác, function sử dụng wp_redirect()
.
$location là url bạn muốn chuyến tiếp đến, mặc định sẽ chuyến tiếp đến wp-admin
nếu host không cho phép. Nhằm để ngăn cản redirect đến những trang web độc hại của host khác.
Sử dụng:
// Chuyển tiếp đến trang chủ của website.
wp_safe_redirect(home_url());
// Chuyển tiếp đến trang khác.
wp_safe_redirect('https://google.com');
Nếu bạn cần phải chuyển tiếp đến trang web khác, hãy dũng wp_redirect
để chắc chắc redirect thành công.
home_url
home_url( string $path = '', string|null $scheme = null )
Trả về url home của website, bạn nên sử dụng những url tương đối, bởi vì khi bạn đặt url tuyệt đối
sau này trang web đổi sang domain khác, thì sẽ không chạy được.
Bạn có thể sử dụng như sau:
Lấy trang chủ
$url = home_url();
echo $url;
//Output: http://www.your-domain.com
Thêm ssl
$url = home_url( $path = '/', $scheme = https );
echo $url;
//Output: https://www.your-domain.com
Khác
<?php
$url = home_url('aaa/bbb');
echo $url;
//Output: https://www.your-domain.com/aaa/bbb
?>
get_template_directory_uri
get_template_directory_uri()
Trả về url của template
Sử dụng:
<img src="<?php echo get_template_directory_uri(); ?>/images/aternus.png" alt="" width="" height="" />
get_stylesheet_directory_uri
Trả về url của child theme
nếu có. Khi không có child theme sẽ trả về url của theme hiện tại.
Sử dụng:
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/aternus.png" alt="" width="" height="" />
add_action('wp_enqueue_scripts', 'wpdocs_scripts_method');
/*
* Enqueue a script with the correct path.
*/
function wpdocs_scripts_method() {
wp_enqueue_script(
'custom_script',
get_stylesheet_directory_uri() . '/js/custom_script.js',
array('jquery')
);
}
is_user_logged_in
is_user_logged_in()
Kiểm tra xem user có đang login hay không, trả về true / false
.
<?php
if ( is_user_logged_in() ) {
echo 'Xin chào, bạn đã đăng nhập!';
} else {
echo 'Xin chào, bạn là khách!';
}
?>
wp_logout_url
wp_logout_url( $logout_redirect )
Trả về URL để đăng xuất.
$logout_redirect
là URL sẽ chuyển đến sau khi đăng xuất.
Xem thêm: