[Hỏi] Cách import bài siêu nhanh vào wordpress

Discussion in 'Thảo Luận Chung' started by Nai, Dec 11, 2017.

  1. Nai

    Nai MiddleMan Staff Member

    Tình hình là em đã làm xong 1 site thuần php (kèm bootstrap 4). Nhưng do chưa làm đủ nhiều nên em muốn làm code tay chỉ khi nào web đó ra tiền.
    Và giải pháp bây giờ là wordpress (không cần lọ mọ từng theme rồi nhét từng lệnh php vào).

    Em mò ra cách đăng bai qua JSON API bên thạch phạm nhưng không biết tốc độ của nó thế nào?
    Vì phần import này theo em hiểu là import như kiểu đăng bài nên tag, cate nó tự phát sinh, không biết đúng không.
    Ai đi trước bước này cho em tí kinh nghiệm và lời khuyên với ạ.

    Hiện tại tốc độ bỏ dữ liệu vào html phải mất khoảng 30 tiếng. (Tính thời gian giải lao nữa thì cả tuần) :D
     
  2. console

    console Bang Chúng

    Nhiều posts k em :D
     
  3. Nai

    Nai MiddleMan Staff Member

    Min tầm 50k, nhưng làm web cần nhiều layout khác nhau để né spam nên cần lên site rẹt rẹt anh ư .
     
  4. console

    console Bang Chúng

    Anh ít xài wp nên k rành lắm, cái này thím @gu gồ rành hơn. Nhưng anh từng import it data của anh tầm 30k rôi khoảng tầm 15 phút thì phải bằng cách insert trưc tiếp vô database. Nếu cách kia chậm thì thử cách anh xem sao
     
    Nai likes this.
  5. Nai

    Nai MiddleMan Staff Member

    INSERT trực tiếp như vậy anh tự tạo tag sẵn luôn hay import trường post thôi anh. INSERT qua SSH thì em làm rồi, nhanh thật. Nếu hết cách thì viết script tạo tag riêng trên wp vậy :D

    hóng cụ @gu gồ vậy :D
     
  6. console

    console Bang Chúng

    Cái đống data đó đầu tiên là nó chạy với framework laravel xong rồi a chuyển nó qua wp cho nhanh thì viết đơn giản với Model và relationship thôi nên import cả posts lẫn category, tags 1 lần. Nói chung là không xót
     
    Nai likes this.
  7. I Love Php

    I Love Php Bang Chúng

    viết 1 file nhận request post rồi insert vào csdl luôn, wp cấu trúc cũng ko nhiều bảng lắm
     
    Nai likes this.
  8. Dung Le

    Dung Le Sơ Nhập Giang Hồ

    Cuối cùng bác@Nai dùng cách gì để lên site nhanh thế , import trực tiếp vào database luôn hả ? có link nào hướng dẫn không bác , mình dùng VPS với VestaCP nên không có phần quản lý database MyPHPSQL admin nên hơi khó chơi.
     
  9. nguagovt

    nguagovt Sơ Nhập Giang Hồ

    Hix các cụ cao siêu quá, em ko hỉu gì hết trơn {cry}
    Xin demo các cụ làm với
     
  10. console

    console Bang Chúng

    Thay vì xài tay và plugin thì nhét luôn vào database chứ có gì đâu :D bác nhờ ae coder viết đoạn theo sample data của bác chạy 1 phát là xong :D
     
  11. nguagovt

    nguagovt Sơ Nhập Giang Hồ

    Em import data luôn đc ko bác.
    Mỗi tuần em get vài trăm k post rồi import vô.
    Chứ các cụ cho auto post theo time em ko theo nổi :(
    Hix
     
  12. Dung Le

    Dung Le Sơ Nhập Giang Hồ

    Mình đang vướng cái max auto post , theo thông số thì max /day là 60 phút x 24 tiếng =1440 bài , cho nhiều thread cũng vậy thôi vì VPS cũng chạy tới đó à, có ai có cao kiến gì hay plug in nào mà chạy theo giây(s) không ? .
     
  13. Trần Trọng Bách

    Trần Trọng Bách Sơ Nhập Giang Hồ

    Mình từng thử 3 cách sau:
    1. Dùng xmlrpc
    2. Dùng thẳng hàm post của wordpress
    3. Import từ xml

    Về tốc độ thì thằng thứ nhất chậm hơn đáng kể so với 2 thằng sau, tuy nhiên vài chục k thì không thành vấn đề (còn tùy vào số bài có sẵn trên trang, trang ít bài thì không sao). Hai thằng sau có tốc độ ngang nhau khi mình test tầm vài trăm k post (<1mil)

    Cả 3 đều có thể post bài kèm tag, category, có ngày tháng... mình không post kèm file ảnh nên mình không rõ, nhưng chắc là được.

    Cách 1 và 3 các bạn có thể google. Cách 2 thì mình tạo trên web 1 file php có nội dung sau:
    <?php
    require( $_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
    require_once(ABSPATH . 'wp-admin/includes/taxonomy.php');
    $api = "kls$^^as9kjkj23qq3j";
    $api_check = $_POST['api'];
    $post_title = $_POST['post_title'];
    $post_content = $_POST['post_content'];
    $post_category = $_POST['post_category'];
    $post_tags = $_POST['tags'];
    $categories = explode(',', $post_category);

    if($api === $api_check){
    // Create categories
    foreach($categories as $category)
    {
    $cat_id = wp_create_category($category);
    $cat_arr[] = $cat_id;
    }
    // Create post object
    $my_post = array(
    'post_title' => wp_strip_all_tags($post_title),
    'post_content' => $post_content,
    'post_status' => 'publish',
    'post_author' => 1,
    'post_category' => $cat_arr,
    'tags_input' => $post_tags
    );

    // Insert post
    $add = wp_insert_post( $my_post, $wp_error );
    if($add)
    return $add;
    else
    return $wp_error;
    }
    else{
    echo 'wrong api';
    }
    ?>

    Rồi gửi nội dung bằng hàm POST tới file đó, nó sẽ xử lí việc post bài.
     
    bacnguyen199 and EDM like this.
  14. cuacua88

    cuacua88 Tân Thủ Thôn

    Cảm ơn bác đúng cái e đang cần :D
     
  15. Dung Le

    Dung Le Sơ Nhập Giang Hồ

    Bác chỉ rỏ hơn , giả dụ cái file đó tên là post.php , vậy thì mình "gửi nội dung bằng hàm POST tới file đó" tức là làm gì cụ thể ,chạy cron hay imacro vào file đó hả, câu lệnh thế nào ?Còn file data thì để dạng gì , nằm ở thư mục nào .
     
  16. console

    console Bang Chúng

    Bác k rành code em khuyên thuê cho nhanh, có nói cũng không hiểu đâu bác
     
  17. Dung Le

    Dung Le Sơ Nhập Giang Hồ

    Có bác coder nào chịu nhận kg thi báo giá em nhé , cũng muốn biết site có tầm 1 mil post là thế nào đây
     
  18. Nai

    Nai MiddleMan Staff Member

    Lúc crawl về thì lưu và mysql. Sau đó lên site chỉ việc connect là site chạy thôi
     
  19. Dung Le

    Dung Le Sơ Nhập Giang Hồ

    haha , bác @Nai tốt bụng nhưng mình thì chỉ abc thôi nên crawl chưa biết luôn chứ nói gì đến connect với web, dự định dùng tool auto kéo về tầm 1 triệu post ( chắc khoảng 1 năm,hic hic ) rồi sau đó vừa import vừa spin thì may ra . Chắc hẹn ngày này năm sau sẽ có kết quả quá
     
  20. EDM

    EDM Sơ Nhập Giang Hồ

    Nếu post add thêm cái ảnh thì sao vậy bác? Bác có thể thêm luôn không? Câm ơn bác