-
Tuyển Dụng
SCW Tuyển 03 WordPress Dev
Có từ 3 năm kinh nghiệm với PHP/Wordpress.
SCW Tuyển Full Stack Developer
[HCM] Tuyển dụng Full-stack Engineer || 1,500 – 2,000 USD
SCW Tuyển PHP Laravel Dev
Phát triển các ứng dụng web, xây dựng website, API theo giải pháp.
-
Settings
Choose Color Theme
Sticky Header
Full Screen
Tìm kiếm một đối tác chuyên nghiệp - giá cả hợp lý cho dự án website của bạn? Chúng tôi sẵn sàng nhận liên hệ từ bạn! Liên Hệ Ngay 👋
Dưới đây là những đoạn code Gối Đầu Giường cho những ai muốn theo lập trình Theme WordPress.
Vì chúng được sử dụng thường xuyên. Các bạn hãy cố gắng áp dụng và hiểu về những hàm này .
- <?php echo get_the_post_thumbnail_url( get_the_id(), ‘full’, array( ‘class’ =>’large’) ); ?> : Cách lấy url ảnh đại diện của bài viết.
- <?php echo get_the_post_thumbnail( get_the_id(), ‘full’, array( ‘class’ =>’large’) ); ?> : Còn đây là code lấy ảnh đại diện của bài viết.
- <?php echo $category[0]->cat_name;?> : Code lấy chuyên mục của bài viết.
- <?php the_permalink(); ?> : Code lấy đường dẫn của bài viết.
- <?php echo get_the_date( ‘d-m-Y’ ); ?> : Code lấy ngày đăng của bài viết.
- <?php the_title(); ?> : Code lấy tên của bài viết.
- <?php the_excerpt(); ?> : Code lấy nội dung tóm tắt của bài viết.
- <?php the_content();?> : code lấy nội dung chính của bài viết
- ?php echo get_the_author(); ?> : Code get tác giả đã đăng bài viết hiện tại .
1- Code lấy bài viết mới nhất theo Chuyên mục bài viết
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!-- Query get posts by categories --> <?php $GetPostsQuery = new WP_query(); $GetPostsQuery->query('post_status=publish&showposts=8&post_type=post&cat=2'); ?> <?php global $wp_query; $wp_query->in_the_loop = true; ?> <?php while ($GetPostsQuery->have_posts()) : $GetPostsQuery->the_post(); ?> <?php $category = get_the_category(); ?> ///Phần dưới này các bạn chèn code HTML - code giao diện vào - Sau đó truyền data vào cho phù hợp ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> //// <?php endwhile; wp_reset_postdata(); ?> <!-- Query get posts by categories --> |
2- Code lấy bài viết mặc định – Bí Kíp Quan Trọng
1 2 3 4 5 6 7 8 9 10 11 12 |
<!--Query Get Posts Default --> <?php while (have_posts()) : the_post(); ?> ///phần này sẽ chèn code html vào để show ra giao diện , ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> /// <?php endwhile; ?> <!--Query Get Posts Default --> |
Nếu đoạn code này được đặt trong index.php sẽ lấy ra những bài viết mới nhất.
Đặt trong single.php sẽ lấy nội dung của bài đó.
Đặt trong category.php sẽ lấy danh sách bài viết của category đó.
Đặt trong search.php nó sẽ lấy ra tất cả những bài viết có từ khóa liên quan.
Đặt trong file archive.php sẽ get ra những bài viết thuộc chuyên mục hoặc tag bạn đang tương tác.
3- Code lấy bài viết liên quan
Đây là code lấy ra những bài viết liên quan theo Chuyên Mục của bài viết :
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 |
<?php $categories = get_the_category($post->ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID),//sẽ loại trừ bài viết hiện tại - bạn có thể truyền vào ID những bài post hoặc ID categoy mà bạn không muốn show ra bên ngoài website 'showposts'=>4, // Số bài viết bạn muốn hiển thị. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) { $my_query->the_post(); ?> ///phần này sẽ chèn code html vào để show ra giao diện , ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> ///// <?php } } } ?> |
Code get bài viết liên quan theo Tag :
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 |
<?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), //sẽ loại trừ bài viết hiện tại - bạn có thể truyền vào ID những bài post hoặc ID categoy mà bạn không muốn show ra bên ngoài website 'showposts'=>4, // Số bài viết bạn muốn hiển thị. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) { $my_query->the_post(); ?> ///phần này sẽ chèn code html vào để show ra giao diện , ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> ///// <?php } } } ?> |
4- Code lấy bài viết Ngẫu Nhiên
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $postquery = new WP_Query(array('posts_per_page' => 4, 'orderby' => 'rand')); if ($postquery->have_posts()) { while ($postquery->have_posts()) : $postquery->the_post(); $do_not_duplicate = $post->ID; ?> ///phần này sẽ chèn code html vào để show ra giao diện , ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> <?php endwhile; } wp_reset_postdata(); ?> |
posts_per_page : là số bài viết bạn muốn lấy
5- Code lấy những bài viết xem nhiều
1 2 3 4 5 6 7 8 9 10 11 |
<?php $getposts = new WP_query(); $getposts->query('post_status=publish&showposts=8&post_type=post&meta_key=views&orderby=meta_value_num'); ?> <?php global $wp_query; $wp_query->in_the_loop = true; ?> <?php while ($getposts->have_posts()) : $getposts->the_post(); ?> ///phần này sẽ chèn code html vào để show ra giao diện , ví dụ : <li> <a href="<?php the_permalink();?>"> <?php echo get_the_post_thumbnail( get_the_id(), 'full', array( 'class' =>'large img_default_post') ); ?> <?php the_title();?> </a> </li> <?php endwhile; wp_reset_postdata(); ?> |
6- Code Get Danh Sách Chuyên mục bài viết
1 2 3 4 5 6 7 8 9 |
<!-- Get category --> <?php $args = array( 'taxonomy' => 'category','hide_empty' => 1); $cates = get_categories( $args ); foreach ( $cates as $cate ) { ?> <li> <a href="<?php echo get_term_link($cate->slug, 'category'); ?>"><?php echo $cate->name ?></a> </li> <?php } ?> <!-- Get category --> |
hide_empty => 1 : ẩn đi những chuyên mục không có bài viết nào
7- Code Tạo – Get Menu
Dưới đây là Code khai báo Menu trong wordpress . Bạn phải đặt code này trong file Functions.php :
1 2 3 4 |
function create_menu(){ register_nav_menu('topmenu',_('Top Menu')); } add_action ('init','create_menu'); |
Đoạn code này có nghĩa là khai báo một Menu với ký hiệu là topmenu và Tên (Label) là Top Menu.
Còn dưới đây là code Gọi Menu vừa tạo :
1 2 3 4 5 6 7 |
<?php wp_nav_menu( array( 'theme_location' => 'topmenu',//topmenu là tên menu các bạn đã khai báo ở function 'menu_class' =>'mainmenu', //class css của menu 'menu_id' => 'top-menu'//id của menu nếu bạn cần chỉnh css hay gì đó ) ); ?> |
Code này sẽ thường được đặt trong file header.php
8- Code tính lượt Xem cho bài viết
Code này được đặt trong file functions.php :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function setpostview($postID){ $count_key ='views'; $count = get_post_meta($postID, $count_key, true); if($count == ''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); } else { $count++; update_post_meta($postID, $count_key, $count); } } function getpostviews($postID){ $count_key ='views'; $count = get_post_meta($postID, $count_key, true); if($count == ''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0"; } return $count; } |
Sau đó chèn code dưới đây vào file single.php để mỗi khi vào bài viết sẽ gọi hàm này để tính lượt xem cho bài viết :
1 2 3 4 |
<?php setpostview(get_the_id()); ?> |
Và đây là code hiển thị lượt xem của bài viết :
1 2 3 4 |
<?php echo getpostviews(get_the_id()); ?> |
9- Những Form tìm kiếm phổ biến
Form tìm kiếm theo từ khóa , tiêu đề bài viết:
1 2 3 4 |
<form action="<?php bloginfo('url'); ?>/" method="GET" role="form"> <input type="text" name="s" placeholder="Search key..."> <button type="submit" class="submit btn"> <i class="ti-search"></i></button> </form> |
Form tìm kiếm từ khóa trong một kiểu dữ liệu duy nhất , như : post , product hoặc page
1 2 3 4 5 |
<form action="<?php bloginfo('url'); ?>/" method="GET" role="form" class="search-form"> <input type="hidden" name="post_type" value="post"> <!-- or value = page , product --> <input type="text" name="s" placeholder="Search key..."> <button type="submit" class="submit"><i class="ti-search"></i></button> </form> |
Thay value=”post” thành loại nào bạn cần search post , product hoặc page .
Form tìm kiếm từ khóa kết hợp với select category :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<form action="<?php bloginfo('url'); ?>/" method="GET" role="form"> <select name="cat" id="input" class="form-control" required="required"> <option value="">chuyên mục mặc định</option> <?php $args = array( 'hide_empty' => 0, 'taxonomy' => 'category', 'orderby' => id, 'parent' => 0 ); $cates = get_categories( $args ); foreach ( $cates as $cate ) { ?> <option value="<?php echo $cate->term_id ?>"><?php echo $cate->name; ?></option> <?php } ?> </select> <input type="text" name="s" placeholder="Search key..."> <button type="submit" class="btn btn-primary"><i class="ti-search"></i></button> </form> |
10- Code tự động lưu ảnh về host khi copy bài từ nguồn khác
Code này được chèn vào file functions.php :
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 |
class Auto_Save_Images{ function __construct(){ add_filter( 'content_save_pre',array($this,'post_save_images') ); } function post_save_images( $content ){ if( ($_POST['save'] || $_POST['publish'] )){ set_time_limit(240); global $post; $post_id=$post->ID; $preg=preg_match_all('/<img.*?src="(.*?)"/',stripslashes($content),$matches); if($preg){ foreach($matches[1] as $image_url){ if(empty($image_url)) continue; $pos=strpos($image_url,$_SERVER['HTTP_HOST']); if($pos===false){ $res=$this->save_images($image_url,$post_id); $replace=$res['url']; $content=str_replace($image_url,$replace,$content); } } } } remove_filter( 'content_save_pre', array( $this, 'post_save_images' ) ); return $content; } function save_images($image_url,$post_id){ $file=file_get_contents($image_url); $post = get_post($post_id); $posttitle = $post->post_title; $postname = sanitize_title($posttitle); $im_name = "$postname-$post_id.jpg"; $res=wp_upload_bits($im_name,'',$file); $this->insert_attachment($res['file'],$post_id); return $res; } function insert_attachment($file,$id){ $dirs=wp_upload_dir(); $filetype=wp_check_filetype($file); $attachment=array( 'guid'=>$dirs['baseurl'].'/'._wp_relative_upload_path($file), 'post_mime_type'=>$filetype['type'], 'post_title'=>preg_replace('/\.[^.]+$/','',basename($file)), 'post_content'=>'', 'post_status'=>'inherit' ); $attach_id=wp_insert_attachment($attachment,$file,$id); $attach_data=wp_generate_attachment_metadata($attach_id,$file); wp_update_attachment_metadata($attach_id,$attach_data); return $attach_id; } } new Auto_Save_Images(); |
11- Code lấy ảnh đầu tiên trong bài viết làm ảnh đại diện
Code này được đặt trong file Functions.php :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function set_first_image_for_thumb() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ $first_img = "/images/default.jpg"; //Duong dan anh mac dinh khi khong tim duoc anh dai dien } return $first_img; } |
Sau đó gọi hàm này ở những nơi bạn muốn hiển thị ảnh đại diện cho bài viết :
1 |
<img src="<?php echo set_first_image_for_thumb() ?>" /> |
Trên đây là các hàm dùng thường xuyên trong lập trình Theme WP, các bạn lưu lại để thực hành nhé 😍😍 Nếu có thắc mắc hãy để lại Câu Hỏi dưới phần Bình Luận, mình sẽ giải đáp.
Xem Thêm
Comment
Kết quả xổ số hôm nay Trực Tiếp: KQXS, XSKT, Số Trúng 3 miền, Xổ Số điện toán, xổ số Vietlove, KQXS 3 Miền mượt số #1. Tường thuật trực tiếp kết quả xổ số kiến thiết ngày hôm nay chuẩn nhất - nhanh nhất tại xskt.net.vn!