Chèn bài viết ngẫu nhiên vào giữa bài viết trong WordPress nghĩa là bạn muốn tự động hiển thị một số bài viết khác (được chọn ngẫu nhiên từ cơ sở dữ liệu WordPress) trong cùng một chuyên mục vào một vị trí cụ thể trong nội dung bài viết hiện tại.

Chèn bài viết random vào giữa bài viết trong wordpress

Chèn bài viết random vào giữa bài viết trong wordpress

Điều này có thể hữu ích cho việc:

  • Tăng thời gian người dùng ở lại trang: Bằng cách giới thiệu nội dung mới và thú vị, bạn có thể khuyến khích người đọc khám phá thêm các bài viết khác trên trang web của bạn.
  • Cải thiện tỷ lệ xem trang: Khi người đọc tương tác với các bài viết ngẫu nhiên, họ sẽ truy cập nhiều trang hơn, giúp tăng tỷ lệ xem trang tổng thể.
  • Quảng bá nội dung cũ: Bạn có thể sử dụng tính năng này để làm nổi bật các bài viết cũ hơn mà có thể người đọc chưa từng thấy.

1] Cài đặt

Bạn chỉ cần copy và dán đoạn code bên dưới vào trong Functions theme bạn đang dùng.

add_filter( 'the_content', 'prefix_insert_post_ads' );

function prefix_insert_post_ads( $content ) {

    if ( is_single() && ! is_admin() ) {
        $related_posts_output = get_related_posts_content(); // Hàm lấy nội dung bài viết liên quan
        $ad_code = '<div>' . $related_posts_output . '</div>';
        return prefix_insert_after_paragraph( $ad_code, 2, $content );
    }

    return $content;
}

// Hàm lấy nội dung bài viết liên quan
function get_related_posts_content() {
    $current_post_id = get_the_ID();
    $categories = get_the_category();
    $output = '';

    if ($categories) {
        $category_ids = array();
        foreach ($categories as $category) {
            $category_ids[] = $category->term_id;
        }

        $args = array(
            'post_type' => 'post', // Thay 'post' bằng post type khác nếu cần
            'posts_per_page' => 3, // Số lượng bài viết
            'post__not_in' => array($current_post_id),
            'orderby' => 'rand',
            'tax_query' => array(
                array(
                    'taxonomy' => 'category',
                    'field' => 'term_id',
                    'terms' => $category_ids
                )
            )
        );

        $related_posts = new WP_Query($args);

        if ($related_posts->have_posts()) {
            $output .= '<ul class="random-post">';
            while ($related_posts->have_posts()) {
                $related_posts->the_post();
                $output .= '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a></li>';
            }
            $output .= '</ul>';
        }
        wp_reset_postdata();
    }

    return $output;
}

// Parent Function that makes the magic happen (không thay đổi)
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {

        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }

        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }

    return implode( '', $paragraphs );
}

2] CSS làm đẹp

ul.random-post {
    background: #7b22d71f;
    padding: 10px 10px 2px;
    border-radius: 5px;
	font-size: 15px;
}

Để 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 *

Hide
Show
tips-pcTIPS PC truyen-maTRUYỆN MA youtubeYOUTUBE