• Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
  • Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
Trang chủ/Kiến thức/Nâng cao/Hướng dẫn tìm option hoặc meta trong database khi leech truyện
Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm

Hướng dẫn tìm option hoặc meta trong database khi leech truyện

809 lượt xem 3 11/03/2019 Updated on 05/11/2019

Chào các bạn, hôm trước có một bạn nhờ mình check theme này:

https://sharecode.vn/source-code/share-code-truyen-chu-wordpress-giao-dien-giong-truyenfullvn-15886.htm

Thì mình cũng mất cả buổi chiều mới viết ra cách để KDN Auto Leech làm việc trên theme đó.

Tuy nhiên trước khi đi vào vấn đề chính thì mình review lại 1 chút. Theme này sử dụng Taxonomy để lưu Truyện và lưu các thông tin Truyện vào option, điều mà không hề nên làm chút nào và nó không phù hợp với công nghệ bây giờ nữa. Tuy nhiên, bạn nào có sử dụng hệ thống tương tự như này thì có thể tham khảo cách mình làm sau:

/**
 * KDN Auto Leech
 * Cấu trúc của theme này như sau:
 * - Sử dụng taxonomy: category để làm Truyện (mỗi Truyện là 1 Term)
 * - Thông tin của Truyện (metabox của Term) chính là wp_option với tên option theo dạng: category_X (trong đó X là ID của Term)
 * - Sử dụng post_type: post để làm Chương
 * - Gán các Chương vào Truyện bằng cách chọn Term (Truyện) trong taxonomy: category
 * 
 * Giải quyết vấn đề:
 * - Thu thập như bình thường với Bài viết cha và Bài viết con đều dùng post_type: post
 * - Khi thu thập Bài viết cha: Lúc này Bài viết cha đóng vai trò là nơi chứa các thông tin để tạo ra Truyện
 * - Khi thu thập Chương 1: Lúc này tạo ra Truyện (Term) trong taxonomy: category với các thông tin của Bài viết cha
 * 							+ Tiêu đề của Term 	= Tiêu đề của Bài viết cha
 * 							+ Mô tả của Term 	= Nội dung của Bài viết cha
 * - Khi thu thập Chương N: Lúc này kiểm tra xem đã có Truyện (Term) hay chưa, nếu đã có thì chỉ việc set Term_ID vào Chương là xong:
 * 							+ Kiểm tra bằng cách tìm Term có Tiêu đề của Term trùng với Tiêu đề của Bài viết cha
 *                            (nếu có hãy lấy ra Term_ID)
 */
add_action('kdn/post/finished', 'finished_post', 10, 10);
function finished_post($data, $postData, $postBot, $postSaver, $siteId, $postUrl, $urlTuple, $isRecrawl, $postId, $isFirstPage) {
	
	// Lấy ID của Bài viết cha
	$parentId = wp_get_post_parent_id($postId) ?: 0;
	
	// Nếu có ID bài viết cha, có nghĩa rằng đang thu thập Bài viết con
	if ($parentId) {
		
		// Lấy: Data của bài viết cha
		$parentData = get_post($parentId);
		
		// Lấy: Tên truyện là Tiêu đề của Bài viết cha
		$termName 	= $parentData->post_title;
		
		// Lấy: ID của Truyện (Term) thông qua Tên truyện
		$termId 	= get_term_by('name', $termName, 'category')->term_id;
		
		// Nếu không có ID của Truyện (Term) (tức là Truyện chưa có sẵn và đây đang là thu thập "Chương 1")
		// tiến hành tạo Truyện (Term) mới
		if (!$termId) {
			
			/******************************************************
			 * BẮT ĐẦU: TẠO TRUYỆN MỚI
			 ******************************************************/
			
			// Chuẩn bị $termData
			$termData = [
				'description' => $parentData->post_content		// Mô tả của Term (chính là mô tả của Truyện)
			];
			
			// Tiến hành thêm Truyện (Term) mới vào taxonomy: category và lấy ra ID của Truyện (Term ID)
			$termId = wp_insert_term($termName, 'category', $termData)['term_id'];
			
			/******************************************************
			 * KẾT THÚC: TẠO TRUYỆN MỚI
			 ******************************************************/
			
			
			
			
			
			/******************************************************
			 * BẮT ĐẦU: TẠO THÔNG TIN CHO TRUYỆN
			 ******************************************************/
			
			// Chuẩn bị $optionName theo dạng: category_X (trong đó X là ID của Truyện (Term ID đã lấy ra ở trên))
			$optionName = 'category_' . $termId;
			
			// Chuẩn bị dữ liệu cho $optionValue
			
			// Lấy post meta tacgia của Bài viết cha
			$tacgia		= get_post_meta($parentId, 'tacgia', true);
			
			// Lấy post meta tinhtrang của Bài viết cha
			$tinhtrang 	= get_post_meta($parentId, 'tinhtrang', true) == 'Full' ? 'hoanthanh' : '';
			
			$theloai 	= get_post_meta($parentId, 'theloai');
			
			$listTheLoai = [];
			
			if ($theloai) {
				foreach ($theloai as $tl) {
					$tlID = get_term_by('name', $tl, 'the-loai')->term_id;
					if ($tlID) {
						$listTheLoai[] = $tlID;
					} else {
						$tlID = wp_insert_term($tl, 'the-loai')['term_id'];
						$listTheLoai[] = $tlID;
					}
				}
			}
			
			// Lấy URL ảnh đại diện của Bài viết cha
			$anhdaidien = get_the_post_thumbnail_url($parentId, 'full');
			
			// ...
			
			// Chuẩn bị $optionValue với các dữ liệu ở trên
			$optionValue = [
				'tacgia' 					=> $tacgia,
				'tinhtrang'					=> $tinhtrang,
				'anhdaidien'				=> $anhdaidien,
				'nguon'						=> '',
				'theloai'					=> $listTheLoai,
				'nhomdich'					=> '', // ['194' => '194']
				'hot'						=> '',
				'tieubieu'					=> '',
				'luotxem'					=> '',
				'img'						=> '',
				'seo_met_title'				=> '',
				'seo_met_keywords'			=> '',
				'seo_met_description'		=> ''
			];
			
			// Tạo wp_option tương ứng với ID của Truyện (Term)
			update_option($optionName, $optionValue);
			
			/******************************************************
			 * KẾT THÚC: TẠO THÔNG TIN CHO TRUYỆN
			 ******************************************************/
			
			// Gán ID của Chương (Post) vào Truyện (Term) vừa tạo
			wp_set_post_terms($postId, [$termId], 'category');
			
		// Nếu đã có ID của Truyện (Term) (tức là Truyện đã có sẵn và đây đang là thu thập từ "Chương 2" trở đi)
		} else {
			// Gán ID của Chương (Post) vào Truyện (Term) có sẵn
			wp_set_post_terms($postId, [$termId], 'category');
		}
	}
}

Như các bạn thấy thì ở trên kia mình đã lưu các thông tin Truyện vào post meta rồi sau đó truy xuất các post meta này để lấy giá trị và đem giá trị đó gán vào các option category_X sau khi finished post.

Dưới đây là hình ảnh cấu hình các post meta:

Đó là ý tưởng và các thông tin Truyện khác bạn hãy làm tương tự. Chúc thành công! 🙂

Bạn có thích nội dung này?

3 Có  Không
Kiến thức liên quan
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Không phân tích và lưu ảnh đại diện khi thu thập lại
  • Hướng dẫn sửa lỗi lưu tệp đính kèm khi chạy plugin trên localhost
  • Thay đổi post_modified và post_date khi cập nhật (thu thập lại) bài viết
  • Gán post meta cho bài viết con là ID của bài viết cha
1 thought on “Hướng dẫn tìm option hoặc meta trong database khi leech truyện”
  • Dang Thanh
    Đăng nhập để trả lời

    mình cách anfy trên Madara them nhưng không được

    25/09/2019 lúc 15:43
Bình luận

Bạn phải đăng nhập để gửi phản hồi.

Nâng cao

  • Hướng dẫn tìm option hoặc meta trong database khi leech truyện
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Không phân tích và lưu ảnh đại diện khi thu thập lại
  • Hướng dẫn sửa lỗi lưu tệp đính kèm khi chạy plugin trên localhost
  • Thay đổi post_modified và post_date khi cập nhật (thu thập lại) bài viết
Tất cả: 9  

Kiến thức mới

  • Hướng dẫn import mã chiến dịch tự động lấy sản phẩm WooCommerce
  • Advanced DB Cleaner – Tối ưu website wordpress và dọn dẹp database
  • Tổng hợp các trường dữ liệu leech truyện với theme Madara
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên

Chủ đề mới

  • phần mềm không sử dụng được thì gỡ nó xuống đi ad , trả tiền em đây
  • Hỗ trợ cài đặt chiến dịch lấy tin từ kênh batdongsan.com.vn
  • Lỗi lặp ảnh trong bài viết.
  • Hỗ trợ cài đặt chiến dịch lấy video từ kênh youtube
  • Lazy load

  Không phân tích và lưu ảnh đại diện khi thu thập lại

Về chúng tôi

KDN Auto Leech là một phần mềm mở rộng được cài đặt và hoạt động trên website sử dụng mã nguồn mở WordPress. Với phần mềm này bạn hoàn toàn có thể tự động lấy nội dung từ bất cứ trang web nào trong bất kỳ lĩnh vực nào về website của bạn.

Thông tin

  • Giới thiệu
  • Liên hệ
  • Chính sách bảo mật
  • Điều khoản sử dụng
  • Hướng dẫn thanh toán

Danh mục

  • Add-ons
  • Bảng giá
  • Tài liệu sử dụng
  • Kiến thức mở rộng
  • Chương trình Affiliate

Tìm hiểu thêm

  • Blog tản mạn
  • Diễn đàn thảo luận
  • Câu hỏi thường gặp
  • Fanpage chính thức
  • Kênh Youtube chính thức
  • Phiên bản: 2.3.6
  • © 2020 - KDN Auto Leech

Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm