• Thế giới của tôi
  • Công nghệ
  • Nghệ thuật
  • Giải trí
  • Chế tạo Diy
  • Video
  • Phòng trưng bày
  • Quảng cáo
Thế giới của tôi
  • Trang chủ
  • Công nghệ

    Bán hàng online hiệu quả qua Instagram

    Hướng dẫn trỏ tên miền Namesilo về VPS Vultr

    Trang web tạo mật khẩu ngẫu nhiên cực hay

    Hướng dẫn bật nén Gzip trong Nginx cực đơn giản

    Cấu hình plugin Wp Rocket hay

    Hướng dẫn trỏ tên miền Name về VPS Vultr

    Tên miền

    Bật tính năng của ảnh trong wordpress 3.0

    Tầm quan trọng hình ảnh sản phẩm trong bán hàng online

  • Nghệ thuật
  • Giải trí
  • Chế tạo Diy
  • Video
  • Phòng trưng bày
No Result
View All Result
  • Trang chủ
  • Công nghệ

    Bán hàng online hiệu quả qua Instagram

    Hướng dẫn trỏ tên miền Namesilo về VPS Vultr

    Trang web tạo mật khẩu ngẫu nhiên cực hay

    Hướng dẫn bật nén Gzip trong Nginx cực đơn giản

    Cấu hình plugin Wp Rocket hay

    Hướng dẫn trỏ tên miền Name về VPS Vultr

    Tên miền

    Bật tính năng của ảnh trong wordpress 3.0

    Tầm quan trọng hình ảnh sản phẩm trong bán hàng online

  • Nghệ thuật
  • Giải trí
  • Chế tạo Diy
  • Video
  • Phòng trưng bày
No Result
View All Result
Thế Giới Của Tôi
No Result
View All Result
Home Wordpress

Hướng dẫn cách chèn bài viết liên quan vào giữa bài viết

Mai Linh by Mai Linh
3 Tháng Tư, 2022
4 min read
0
Share on FacebookShare on Twitter

Xem nhanh tại đây.

  1. Làm ngay thôi nào
  2. Viết function hiển thị các bài viết liên quan
  3. Hiển thị bài viết liên quan vào giữa bài post 1 cách tự động

Hôm nay mình sẽ hướng dẫn cho cách bạn cách để chèn một loạt các bài viết liên quan vào giữa bài viết hiện tại nhé.

  1. Làm ngay thôi nào

  2. Lưu ý: Code dưới đây mình đều viết theo dạng function kể cả CSS, vì vậy các bạn chỉ cần copy vào functions.php là được. Nếu các bạn không thích, các bạn có thể bóc tách CSS và dán nó vào file CSS nhé.
    Baivietlienquan
    Baivietlienquan
  3. Viết function hiển thị các bài viết liên quan

  4. Đầu tiên chúng ta sẽ viết 1 function để có thể hiển thị được các bài viết cùng category với bài viết hiện tại nhé, để có thể viết được function này. Các bạn tìm hiểu giúp mình về WP query.

    Đầu tiên sẽ tạo 1 shortcode có tên gọi là [post_pttuan]

    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
    function recent_post_by_pttuan(){
        ob_start();
        $cats = wp_get_post_categories( get_the_ID(), array( 'fields' => 'ids' ) );
            $the_query = new WP_Query( array(
                'post_type' => 'post',
                'posts_per_page' => '5',
                'post__not_in' => array(get_the_ID()),
                'tax_query' => array(
                    array (
                        'taxonomy' => 'category',
                        'field' => 'term_id',
                        'terms' => $cats,
                    )
                ),
            ) );
            if($the_query->have_posts()){
                echo '<div class="pttuan_post_recent_main">';
                echo '<h3 class="pttuan_post_recent_main_title text-center">Bài viết liên quan</h3>';
                echo '<div class="pttuan_post_recent_container">';
                while ( $the_query->have_posts() ):$the_query->the_post();?>
                <div class="pttuan_post_recent_item">
                    <a href="<?php echo get_the_permalink();?>">
                    <div class="pttuan_post_recent_thumbnail">
                        <?php echo get_the_post_thumbnail();?>
                    </div>
                    <div class="pttuan_post_recent_title">
                        <?php echo get_the_title();?>
                    </div>
                    </a>
                </div>
                <?php endwhile;
                echo '</div></div>';
            };
            wp_reset_postdata();
        $list_post = ob_get_contents();
        ob_end_clean();
        return $list_post;
    }
    add_shortcode('post_pttuan','recent_post_by_pttuan');

    Các bạn có thể dán shortcode vào bất kì đâu để nó hiển thị các bài viết liên quan đến bài viết hiện tại.

    thật ra thì các bài viết hiển thị ở đây sẽ cùng category, nếu bài viết nhiều category thì nó sẽ lấy nhiều category.

    Các bạn chú ý đến cái dòng ‘posts_per_page’ => ‘5’, Các bạn muốn hiển thị mấy bài viết thì sửa số 5 thành bất kì nhé.

  5. Hiển thị bài viết liên quan vào giữa bài post 1 cách tự động

  6. Để chèn ký tự hoặc 1 đoạn văn vào giữa bài post 1 cách tự động thì các bạn sẽ phải can thiệp vào filter của wordpress. Mình đã có viết bài, các bạn có thể tham khảo bài viết này để biết thêm chi tiết.

    Để chèn được vào giữa bài viết, cụ thể là mình sẽ chèn vào đoạn thứ 2 của bái viết (Enter 1 lần sẽ là 1 đoạn).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    add_filter('the_content', 'contentafter2para');
    function contentafter2para($content){
        if(is_single()){
            $pttuan_content = do_shortcode('[post_pttuan]');
            $after = 2;
            $end = '</p>';
            $content_pttuan = explode($end, $content);
            foreach($content_pttuan as $key => $cont){
                if(trim($cont)) {
                    $content_pttuan[$key] .= $end;
                }
                if(($key + 1) == $after){  
                    $content_pttuan[$key] .= $pttuan_content;
                }
            }
            $content = implode('', $content_pttuan);
        }
        return $content;    
    }

    Bạn chú ý đến đoạn $after = 2; giúp mình, nếu bạn mún nó hiển thị ở đoạn thứ 3 thì sửa thành 3 nhé.

    Thêm 1 chút CSS cho 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    function css_custom(){;?>
    <style type="text/css">
        .pttuan_post_recent_main_title{
            color: #fff;
            font-weight: bolder;
            margin-bottom: 15px;
        }
        .pttuan_post_recent_main{
            background: #1d65d8;
            padding: 10px 5px;
            margin-bottom: 15px;
            border-radius: 5px;
        }
        .pttuan_post_recent_container{
            display: flex;
            justify-content: space-between;
        }
        .pttuan_post_recent_container>*{
            width: 19%;
            background: #fff;
            border-radius: 3px;
        }
        .pttuan_post_recent_thumbnail{
            height: 80px;
            overflow: hidden;
            margin-bottom: 10px;
        }
        .pttuan_post_recent_title{
            font-size: 14px;
            line-height: 1.25;
            padding: 0 5px;
        }
        @media only screen and (max-width: 48em) {
            .pttuan_post_recent_container>*{
                width: 30%;
                margin-right: 10px;
            }
            .pttuan_post_recent_container>*:last-child{
                margin-right: unset;
            }
            .pttuan_post_recent_container{
                overflow-x: scroll;
                flex-flow: unset;
                display: -webkit-box;
            }
            .pttuan_post_recent_thumbnail{
                height: 50px;
                margin-bottom: 5px;
            }
            .pttuan_post_recent_title{
                font-size: 11px;
            }
        }
    </style>
    <?php }
    add_action('wp_footer','css_custom');

    Và đây là kết quả như ảnh ở bên trên.
    Đẹp xấu như thế nào thì các bạn CSS lại nhé.

Hi vọng bài viết này sẽ giúp cho các bạn giải quyết được vấn đề của mình.
Chúc các bạn thành công, có bất kì câu hỏi nào cứ hỏi mình nhé.

Previous Post

Hướng dẫn hiển thị các sản phẩm có cùng mức giá

Next Post

Một số hook cơ bản của theme flatsome phần số 2

Mai Linh

Mai Linh

chuyên wordpress, function, php, code, ...

Next Post

Một số hook cơ bản của theme flatsome phần số 2

No Result
View All Result

Bài viết mới

  • Một mẫu slider đẹp
  • Cách tạo vị trí menu wordpress
  • Khai báo custom post type trong wordpress
  • Sửa lỗi Because app requires SDK version >=2.15.1 <3.0.0 version solving failed
  • Cách đặt nhân vật tiếng trung phồn thể cho game Jx3 Quốc tế

Phản hồi gần đây

    Chuyên mục

    • Bảo mật website
    • Bẻ khóa theme plugin
    • Cắt giấy
    • Chụp ảnh
    • Chụp ảnh sản phẩm
    • Code tiện ích cho website
    • Code trang trí mở rộng
    • Công cụ Tools
    • Công nghệ
    • CSS
    • Digital Marketing
    • Function
    • Game Jx2
    • Game Jx3
    • Game Online
    • Gian hàng online
    • Hosting
    • HTML
    • Instagram
    • Kirigami
    • Kirigami 0 độ
    • Kirigami 180 độ
    • Kirigami 360 độ
    • Kirigami 90 độ
    • Mã độc hại website
    • Marketing Online
    • Máy chủ ảo VPS
    • Origami
    • Paper Craft
    • Phần mềm máy tính cơ bản
    • Php
    • Quilling
    • SEO
    • SEO Offpage
    • SEO Onpage
    • Share theme plugin
    • Shopee
    • Sửa ảnh
    • Tăng doanh thu bán hàng
    • Tên miền
    • Thông tin thế giới của tôi
    • Tối ưu tốc độ web
    • Windows
    • Wordpress

    Recent News

    Một mẫu slider đẹp

    29 Tháng Sáu, 2023

    Cách tạo vị trí menu wordpress

    20 Tháng Tư, 2023
    • Giới thiệu
    • Quảng cáo
    • Bảo mật
    • Liên hệ

    © 2019 Thế Giới Của Tôi - Thiết kế & xây dựng bởi Ngôi Nhà Web.vn.

    No Result
    View All Result
    • Thế giới của tôi
    • Công nghệ
    • Nghệ thuật
    • Giải trí
    • Chế tạo Diy
    • Video
    • Phòng trưng bày
    • Quảng cáo

    © 2019 Thế Giới Của Tôi - Thiết kế & xây dựng bởi Ngôi Nhà Web.vn.