WordPress kết nối cơ sở dữ liệu PHP

Trên đây là những gì có trong single_cpt của tôi. php và nó hoạt động. Nhưng tôi nghe nói NÓ không nên có phần này trong đó.

get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
   AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")

   // Echo the title of the first scheduled post
   echo $posts[0]->post_title;
?>
7 và tôi nên sử dụng phần đó trong Hàm. php. Bây giờ tôi đã cố gắng xóa dòng trên và thêm dòng bên dưới vào chức năng. php, nhưng dường như không thể làm cho nó hoạt động

function connect_another_db() {
    global $my_db;
    $my_db= new wpdb('my_user','my_password','my_db', 'localhost');
}
add_action('init', 'connect_another_db');

Ai đó có thể xin vui lòng giúp tôi ra, sẽ thực sự đánh giá cao nó

Đang xem 3 trả lời - 1 đến 3 (trong tổng số 3)

  • WordPress kết nối cơ sở dữ liệu PHP
    điion

    (@diondesigns)

    2 năm, 1 tháng trước

    Nếu bạn đã quen với việc sử dụng các hàm mysqli (OOP hoặc thủ tục), thì bằng mọi cách hãy sử dụng chúng. Sử dụng

    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8 để kết nối với cơ sở dữ liệu thứ hai gây ra chi phí đáng kể và nên tránh IMO nếu có thể

    Nếu người dùng WordPress DB có quyền truy cập mà bạn yêu cầu vào cơ sở dữ liệu thứ hai, thì bạn có thể điều chỉnh các truy vấn của mình và sử dụng trình điều khiển đã tồn tại được tạo bởi lớp

    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8. Đoạn mã sau sẽ có được xử lý

    global $wpdb;
    $dbh = $wpdb->__get('dbh');

    Tuy nhiên, hãy nhớ rằng bạn phải sử dụng các lệnh thủ tục

    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    0 vì đó là cách xử lý được tạo ra

    Người bắt đầu chủ đề

    WordPress kết nối cơ sở dữ liệu PHP
    Klaas Koopman

    (@ lấy cảm hứng từ phương tiện truyền thông)

    2 năm, 1 tháng trước

    Dion thân mến,

    Cảm ơn bạn đã trả lời của bạn

    Vì vậy, bạn đang nói rằng tôi có thể có phần này trong tệp chủ đề của mình (singlecpt. php chẳng hạn)

    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    7

    Như tôi đã nói rằng đó không phải là một ý kiến ​​hay và bằng cách nào đó tôi nên đưa nó vào chức năng của mình. php?

    điion

    (@diondesigns)

    2 năm, 1 tháng trước

    Vì tiện ích mở rộng PHP

    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    2 có sẵn trong tất cả các phiên bản PHP được WordPress hỗ trợ, nên bạn có thể yên tâm bỏ qua những người bảo bạn sử dụng phiên bản mới của
    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8. (Tôi cá là những người đó không biết cách sử dụng các hàm/phương thức của
    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    2 và chỉ biết cách sử dụng các phương thức của
    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8. 🙂 )

    Chỉ cần đảm bảo đóng kết nối DB khi bạn thực hiện xong. PHP sẽ không làm như vậy ngay lập tức khi tập lệnh kết thúc và đó là nguyên nhân phổ biến gây ra lỗi "quá nhiều kết nối"

    Kết nối với cơ sở dữ liệu WordPress bằng PHP và MySQL. Trong PHP, bạn có thể kết nối và sửa đổi cơ sở dữ liệu trong đó MySQL là hệ thống cơ sở dữ liệu phổ biến nhất cho việc này

    Các bảng cơ sở dữ liệu chứa dữ liệu được tìm thấy trong trang web của bạn. Bảng là tập hợp dữ liệu có liên quan bao gồm các cột và hàng. Để có thể sửa đổi những dữ liệu này, bạn cần kết nối với cơ sở dữ liệu. Có nhiều cách để kết nối với cơ sở dữ liệu và WordPress đã làm cho việc này trở nên dễ dàng hơn

    LỚP WPDB & ĐỐI TƯỢNG WPDB

    Không giống như viết mã PHP từ đầu, nơi bạn cần định cấu hình đúng kết nối cơ sở dữ liệu của mình, WordPress cung cấp một lớp có tên là

    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    6 được tạo khi cài đặt thành công WordPress. Lớp này được định nghĩa trong
    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    7

    Mục đích chính của nó là cung cấp tất cả các chức năng cần thiết để giao tiếp với cơ sở dữ liệu WordPress

    Bạn không sử dụng lớp

    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    6 cho mã của mình thay vào đó WordPress cung cấp một đối tượng có tên là
    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8 đến từ lớp
    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    6. Tạo kết nối đến cơ sở dữ liệu là mục đích chính của đối tượng này

    Bây giờ, để tạo kết nối với cơ sở dữ liệu trong mã PHP WordPress của bạn, bạn cần khai báo

    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8 làm biến toàn cục bằng cách sử dụng từ khóa
    get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
       AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
    
       // Echo the title of the most commented post
       echo $posts->post_title;
    ?>
    2

    Bây giờ bạn sẽ có một mã PHP như thế này

    function myFunction() {     
      global $wpdb; 
    } 

    Đó là nó. Bạn đã kết nối thành công với cơ sở dữ liệu WordPress. Từ thời điểm này, bạn sẽ có thể sử dụng tất cả các chức năng cơ sở dữ liệu của WordPress

    Bảng cơ sở dữ liệu do WordPress tạo không phải là bảng duy nhất mà

    get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
       AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
    
       // Echo the title of the first scheduled post
       echo $posts[0]->post_title;
    ?>
    8 có thể sửa đổi. Nó cũng bao gồm các bảng khác được tạo bằng các phương tiện khác, chẳng hạn như cài đặt các plugin tùy chỉnh và tự tạo một số theo cách thủ công

    Xin chào, tôi là Daniel và tôi làm mọi thứ cho web. Tôi là CTO tại Kinsta và tôi viết cho một số ấn phẩm tuyệt vời như Tạp chí Smashing và … Thông tin thêm về Daniel ↬

    Bản tin email

    Email (đập vỡ) của bạn

    Mẹo hàng tuần về giao diện người dùng & UX.
    Được hơn 200.000 người tin cậy.

    • WordPress kết nối cơ sở dữ liệu PHP
      Giao diện người dùng SmashingConf 2023

    • WordPress kết nối cơ sở dữ liệu PHP
      Lớp học tổng thể về nguyên tắc phổ quát của kiểu chữ với Elliot Jay Stocks

    • WordPress kết nối cơ sở dữ liệu PHP
      Các mẫu thiết kế giao diện Đào tạo UX

    • WordPress kết nối cơ sở dữ liệu PHP
      Bắt đầu miễn phí
    • WordPress kết nối cơ sở dữ liệu PHP
      Lớp
      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      0 mô đun hóa và tự động hóa rất nhiều tác vụ liên quan đến cơ sở dữ liệu

      Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓

      Gặp gỡ Tối ưu hóa hình ảnh, hướng dẫn thực tế hoàn toàn mới của Addy Osmani để tối ưu hóa và cung cấp hình ảnh chất lượng cao trên web. Từ định dạng và nén đến phân phối và bảo trì. mọi thứ trong một cuốn sách dày 528 trang

      Chuyển đến mục lục ↬

      WordPress kết nối cơ sở dữ liệu PHP

      Bắt đầu

      Nếu bạn biết cách thức hoạt động của MySQL hoặc các ngôn ngữ tương tự, thì bạn sẽ hiểu ngay lớp học này và bạn sẽ chỉ cần ghi nhớ một số lượng nhỏ tên hàm. Cách sử dụng cơ bản của lớp này có thể được hiểu rõ nhất thông qua một ví dụ, vì vậy, hãy truy vấn cơ sở dữ liệu của chúng tôi để biết ID và tiêu đề của bốn bài đăng gần đây nhất, được sắp xếp theo số lượng nhận xét (theo thứ tự giảm dần)

      get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,4")
      ?>

      Như bạn có thể thấy, đây là một truy vấn SQL cơ bản, với một số PHP bao quanh nó. Lớp

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      0 chứa một phương thức (phương thức là tên đặc biệt cho các hàm bên trong lớp), có tên là
      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      8, phương thức này sẽ không chỉ lấy kết quả của bạn mà còn đặt chúng vào một đối tượng thuận tiện. Bạn có thể nhận thấy rằng, thay vì sử dụng
      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      9 cho tên của bảng, tôi đã sử dụng
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      0, đây là công cụ trợ giúp để truy cập các bảng WordPress cốt lõi của bạn. Thông tin thêm về lý do sử dụng chúng sau

      Đối tượng

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      1 hiện chứa dữ liệu của bạn ở định dạng sau

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      0

      Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓

      Nâng cao kỹ năng UX của bạn với Khóa học video về mẫu thiết kế giao diện thông minh, thư viện video 8h của Vitaly Friedman. Với hàng trăm ví dụ thực tế, hướng dẫn thiết kế và danh sách kiểm tra UX. Kiểm tra bản xem trước miễn phí (video miễn phí, 15 phút)

      Chuyển đến khóa học video UX ↬

      WordPress kết nối cơ sở dữ liệu PHP

      Lấy kết quả từ cơ sở dữ liệu

      Nếu bạn muốn truy xuất một số thông tin từ cơ sở dữ liệu, bạn có thể sử dụng một trong bốn hàm trợ giúp để cấu trúc dữ liệu

      get_results()

      Đây là chức năng mà chúng ta đã xem xét trước đó. Tốt nhất là khi bạn cần dữ liệu hai chiều (nhiều hàng và cột). Nó chuyển đổi dữ liệu thành một mảng chứa các đối tượng riêng biệt cho mỗi hàng

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>

      get_row

      Khi bạn chỉ cần tìm một hàng cụ thể trong cơ sở dữ liệu (ví dụ: bài đăng có nhiều bình luận nhất), bạn có thể sử dụng

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      2. Nó kéo dữ liệu vào một đối tượng một chiều

      ________số 8

      get_col

      Phương pháp này rất giống với phương pháp

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      2, nhưng thay vì lấy một hàng kết quả, nó lấy một cột duy nhất. Điều này hữu ích nếu bạn chỉ muốn truy xuất ID của 10 bài đăng được bình luận nhiều nhất. Giống như
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      2, nó lưu kết quả của bạn trong đối tượng một chiều

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      6

      get_var

      Trong nhiều trường hợp, bạn sẽ chỉ cần một giá trị từ cơ sở dữ liệu; . Trong trường hợp này, bạn có thể sử dụng

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      5 để lấy nó dưới dạng một giá trị đơn giản. Kiểu dữ liệu của giá trị sẽ giống với kiểu của nó trong cơ sở dữ liệu (i. e. số nguyên sẽ là số nguyên, chuỗi sẽ là chuỗi)

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      8

      Chèn vào cơ sở dữ liệu

      Để thực hiện thao tác chèn, chúng ta có thể sử dụng phương thức chèn

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      9

      Phương thức này có ba đối số. Cái đầu tiên chỉ định tên của bảng mà bạn đang chèn dữ liệu vào. Đối số thứ hai là một mảng chứa các cột và giá trị tương ứng của chúng, dưới dạng các cặp khóa-giá trị. Tham số thứ ba chỉ định loại dữ liệu của các giá trị của bạn, theo thứ tự bạn đã cung cấp cho chúng. Đây là một ví dụ

      function myFunction() {     
        global $wpdb; 
      } 
      0

      Nếu bạn đã quen với việc viết ra các phần chèn của mình, thì điều này thoạt đầu có vẻ khó sử dụng, nhưng nó thực sự mang lại cho bạn rất nhiều sự linh hoạt vì nó sử dụng các mảng làm đầu vào

      Chỉ định định dạng là tùy chọn; . Ba giá trị bạn có thể sử dụng là

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      6 cho chuỗi,
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      7 cho số thập phân và
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      8 cho số float

      Cập nhật dữ liệu của bạn

      Đến bây giờ, bạn sẽ không ngạc nhiên khi biết rằng chúng tôi cũng có một phương pháp trợ giúp để cập nhật dữ liệu của mình — thật bất ngờ, được gọi là

      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      9. Công dụng của nó giống như những gì chúng ta đã thấy ở trên;

      function myFunction() {     
        global $wpdb; 
      } 
      6

      Các tham số

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      61,
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      62 và
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      63 hẳn đã quen thuộc với bạn; . Sử dụng tham số
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      64, chúng tôi có thể chỉ định các điều kiện của bản cập nhật. Nó phải là một mảng ở dạng cặp giá trị cột. Nếu bạn chỉ định nhiều tham số, thì chúng sẽ được nối với logic
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      65.
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      66 cũng giống như
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      63. nó chỉ định định dạng của các giá trị trong tham số
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      64

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      5

      Truy vấn khác

      Mặc dù những trình trợ giúp ở trên rất tuyệt vời, nhưng đôi khi việc thực hiện các truy vấn khác hoặc phức tạp hơn những gì trình trợ giúp cho phép là cần thiết. Nếu bạn cần thực hiện cập nhật với mệnh đề

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      60 phức tạp chứa nhiều logic
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      65/
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      81, thì bạn sẽ không thể sử dụng phương pháp
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      9. Nếu bạn muốn làm điều gì đó như xóa một hàng hoặc thiết lập một bộ ký tự kết nối, thì bạn sẽ cần sử dụng phương thức _______ 183 “chung”, cho phép bạn thực hiện bất kỳ loại truy vấn nào

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      00

      Bảo vệ và Xác nhận

      Tôi hy vọng tôi không phải cho bạn biết tầm quan trọng của việc đảm bảo rằng dữ liệu của bạn an toàn và cơ sở dữ liệu của bạn không thể bị giả mạo. Xác thực dữ liệu nằm ngoài phạm vi của bài viết này một chút, nhưng hãy xem WordPress Codex nói gì về “Xác thực dữ liệu” tại một số điểm

      Ngoài việc xác thực, bạn sẽ cần thoát khỏi tất cả các truy vấn. Ngay cả khi bạn không quen với các cuộc tấn công SQL injection, hãy sử dụng phương pháp này và sau đó đọc nó sau, bởi vì nó rất quan trọng

      Nếu bạn sử dụng phương thức

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      83 hoặc bất kỳ chức năng nào khác mà bạn viết SQL thô (chẳng hạn như
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      85), bạn sẽ cần thoát thủ công, sử dụng phương thức
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      86

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      01

      Để dễ hiểu hơn một chút, hãy viết lại định dạng cơ bản này một chút

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      02

      Như bạn có thể thấy, điều này không đáng sợ lắm. Thay vì thêm các giá trị thực tế như bạn thường làm, bạn nhập loại dữ liệu, rồi thêm dữ liệu thực tế dưới dạng các tham số tiếp theo

      Biến lớp và các phương thức khác

      Ngoài những phương thức tuyệt vời này, còn có khá nhiều hàm và biến khác giúp cuộc sống của bạn dễ dàng hơn. Tôi sẽ chỉ cho bạn một số thứ phổ biến nhất, nhưng vui lòng xem trang WordPress Codex được liên kết ở trên để biết danh sách đầy đủ mọi thứ mà

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      0 cung cấp

      chèn_id()

      Bất cứ khi nào bạn chèn thứ gì đó vào bảng, rất có thể bạn sẽ có ID tăng tự động trong đó. Để tìm giá trị của lần chèn gần đây nhất do tập lệnh của bạn thực hiện, bạn có thể sử dụng

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      88

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      03

      num_rows()

      Nếu bạn đã thực hiện một truy vấn trong tập lệnh của mình, thì biến này sẽ trả về số lượng kết quả của truy vấn cuối cùng của bạn. Điều này rất tốt cho số lượng bài đăng, số lượng bình luận, v.v.

      tên bảng

      Tất cả các tên bảng lõi được lưu trữ trong các biến có tên hoàn toàn giống với bảng lõi tương đương của chúng. Tên của bảng bài đăng của bạn (có thể là

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      9) sẽ được lưu trữ trong biến
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      90, vì vậy bạn có thể xuất nó bằng cách sử dụng
      get_row("SELECT ID, post_title FROM wp_posts WHERE post_status = 'publish'
         AND post_type='post' ORDER BY comment_count DESC LIMIT 0,1")
      
         // Echo the title of the most commented post
         echo $posts->post_title;
      ?>
      0

      Chúng tôi sử dụng điều này vì chúng tôi được phép chọn tiền tố cho các bảng WordPress của mình. Trong khi hầu hết mọi người sử dụng

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      92 mặc định, một số người dùng muốn hoặc cần một tùy chỉnh. Để linh hoạt, tiền tố này không được mã hóa cứng, vì vậy nếu bạn đang viết phần bổ trợ và sử dụng
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      93 trong truy vấn thay vì
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      94, mã của bạn sẽ không hoạt động trên một số trang web

      Nếu bạn muốn lấy dữ liệu từ một bảng WordPress không phải lõi, sẽ không có biến đặc biệt nào cho nó. Trong trường hợp này, bạn có thể viết tên bảng như bình thường

      Xử lý lỗi

      Bằng cách gọi các phương thức

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      95 hoặc
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      96, bạn có thể bật hoặc tắt báo cáo lỗi (tắt theo mặc định) để biết thêm thông tin về những gì đang diễn ra. Dù bằng cách nào, bạn cũng có thể sử dụng phương pháp
      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      97 để in lỗi cho truy vấn mới nhất

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      04

      Xây dựng một số theo dõi cơ bản với kiến ​​thức $wpdb mới của chúng tôi

      Nếu bạn chưa quen với tất cả những điều này, bạn có thể hiểu những gì tôi đang nói nhưng có thể thấy khó thực hiện. Vì vậy, hãy lấy ví dụ về một plugin theo dõi WordPress đơn giản mà tôi đã tạo cho một trang web

      Để đơn giản, tôi sẽ không mô tả mọi chi tiết của plug-in. Tôi sẽ chỉ hiển thị cấu trúc của cơ sở dữ liệu và một số truy vấn

      Cấu trúc bảng của chúng tôi

      Để theo dõi số lần nhấp chuột và số lần hiển thị quảng cáo, tôi đã tạo một bảng; . ” Bảng này ghi lại hành động của người dùng trong thời gian thực. Mỗi lần hiển thị và nhấp chuột được ghi lại trong hàng riêng của nó theo cấu trúc sau

      • global $wpdb;
        $dbh = $wpdb->__get('dbh');
        98 ID tăng tự động
      • global $wpdb;
        $dbh = $wpdb->__get('dbh');
        99 Ngày và giờ xảy ra hành động
      • function myFunction() {     
          global $wpdb; 
        } 
        00 ID của giao dịch được kết nối với hành động (i. e. quảng cáo đã được nhấp hoặc xem)
      • function myFunction() {     
          global $wpdb; 
        } 
        01 Loại hành động (i. e. nhấp chuột hoặc hiển thị)
      • function myFunction() {     
          global $wpdb; 
        } 
        02 Trang bắt đầu hành động
      • function myFunction() {     
          global $wpdb; 
        } 
        03 Nếu người dùng đã đăng nhập, ID của họ
      • function myFunction() {     
          global $wpdb; 
        } 
        04 IP của người dùng, được sử dụng để loại bỏ bất kỳ hoạt động kinh doanh nghịch ngợm nào

      Bảng này sẽ lớn lên khá nhanh, vì vậy nó được tổng hợp thành số liệu thống kê hàng ngày và được xóa định kỳ. Nhưng bây giờ chúng ta hãy làm việc với một bảng này

      Chèn dữ liệu vào bảng của chúng tôi

      Khi người dùng nhấp vào một quảng cáo, nó sẽ được phát hiện và thông tin mà chúng tôi cần sẽ được gửi đến tập lệnh của chúng tôi dưới dạng một mảng

      function myFunction() {     
        global $wpdb; 
      } 
      05, với dữ liệu sau

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      05

      Sau đó, chúng tôi có thể chèn dữ liệu này vào cơ sở dữ liệu bằng phương thức trợ giúp của chúng tôi, như vậy

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      06

      Có nguy cơ xảy ra tiếp tuyến, tôi sẽ giải quyết một số câu hỏi mà bạn có thể có về ví dụ cụ thể này. Bạn có thể đang nghĩ, còn xác thực dữ liệu thì sao?

      Chúng tôi quyết định rằng vì chúng tôi không cần số liệu thống kê theo thời gian thực (số liệu thống kê hàng ngày là đủ), nên không cần phải kiểm tra dữ liệu ở mỗi lần chèn. Dữ liệu được tổng hợp vào một bảng mới mỗi ngày vào khoảng nửa đêm, thời điểm lưu lượng truy cập thấp. Trước khi tổng hợp dữ liệu, chúng tôi cẩn thận làm sạch dữ liệu, loại bỏ các dữ liệu trùng lặp, v.v. Tất nhiên, dữ liệu được thoát trước khi được chèn vào bảng, bởi vì chúng tôi đang sử dụng hàm trợ giúp;

      Chỉ cần xóa hàng loạt tất cả cùng một lúc những cái được tạo bởi quản trị viên sẽ dễ dàng hơn việc kiểm tra mỗi lần chèn. Điều này khiến máy chủ của chúng tôi phải xử lý một lượng đáng kể

      Xóa các hành động khỏi IP được liệt kê trong danh sách đen

      Nếu chúng tôi thấy rằng địa chỉ IP

      function myFunction() {     
        global $wpdb; 
      } 
      06 là nghịch ngợm-nghịch ngợm, chúng tôi có thể đưa nó vào danh sách đen. Trong trường hợp này, khi chúng tôi tổng hợp dữ liệu hàng ngày, chúng tôi sẽ cần xóa tất cả các mục theo IP này

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      07

      Bạn có thể nhận thấy rằng tôi vẫn thoát dữ liệu, mặc dù IP đã được nhận từ một nguồn an toàn. Tôi sẽ đề nghị thoát dữ liệu của bạn bất kể điều gì. Trước hết, những hacker thích hợp giỏi những gì họ làm, bởi vì họ là những lập trình viên xuất sắc và có thể thông minh hơn bạn theo những cách mà bạn không nghĩ tới. Ngoài ra, cá nhân tôi đã làm tổn hại đến các trang web của mình nhiều hơn so với các tin tặc, vì vậy tôi làm những việc này như một biện pháp phòng ngừa an toàn cho bản thân mình.

      Cập nhật Tổng số

      Chúng tôi lưu trữ quảng cáo của mình dưới dạng các loại bài đăng tùy chỉnh; . Chúng tôi cũng có thể cộng tất cả các lần nhấp vào cơ sở dữ liệu theo dõi của mình cho giao dịch nhất định, vì vậy, trước tiên hãy xem xét điều đó

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      08

      Bởi vì nhận được một biến duy nhất dễ dàng hơn là luôn tự tạo gánh nặng cho mình bằng một truy vấn phức tạp hơn, nên bất cứ khi nào chúng tôi tổng hợp dữ liệu của mình, chúng tôi sẽ lưu trữ tổng số hiện tại một cách riêng biệt. Quảng cáo của chúng tôi được lưu trữ dưới dạng các bài đăng có loại bài đăng tùy chỉnh, do đó, vị trí hợp lý để lưu trữ tổng số này là trong bảng

      function myFunction() {     
        global $wpdb; 
      } 
      07. Hãy sử dụng khóa meta
      function myFunction() {     
        global $wpdb; 
      } 
      08 để lưu trữ dữ liệu này

      global $wpdb;
      $dbh = $wpdb->__get('dbh');
      09

      Suy nghĩ và lời khuyên cuối cùng

      Tôi hy vọng bạn đã hiểu rõ hơn về lớp WordPress

      get_results("SELECT ID, post_title FROM wp_posts WHERE post_status = 'future'
         AND post_type='post' ORDER BY post_date ASC LIMIT 0,4")
      
         // Echo the title of the first scheduled post
         echo $posts[0]->post_title;
      ?>
      0 và bạn sẽ có thể sử dụng nó để cải thiện các dự án của mình. Để kết thúc, đây là một số mẹo và thủ thuật cuối cùng để sử dụng lớp này một cách hiệu quả

      Làm cách nào để kết nối WordPress với cơ sở dữ liệu MySQL trong PHP?

      Bước 1. Hoàn thành các điều kiện tiên quyết. Hoàn thành các điều kiện tiên quyết sau đây trước khi bắt đầu. .
      Bước 2. Chuyển cơ sở dữ liệu WordPress sang cơ sở dữ liệu được quản lý MySQL của bạn. .
      Bước 3. Định cấu hình WordPress để kết nối với cơ sở dữ liệu được quản lý MySQL của bạn. .
      Bước 4. Hoàn thành các bước tiếp theo

      Làm cách nào để kết nối cơ sở dữ liệu trong PHP?

      Tạo cơ sở dữ liệu MySQL tại Localhost. Tạo nên cơ sở dữ liệu. Tạo thư mục trong htdocs. Tạo tệp kết nối cơ sở dữ liệu trong PHP. .
      Tạo cơ sở dữ liệu MySQL tại Cloudways Server. Tạo kết nối cơ sở dữ liệu. Truy vấn thủ tục MySQLi. .
      MySQL từ xa
      Công cụ quản lý MySQL hàng đầu. Bàn làm việc MySQL. Điều hướng cho MySQL. .
      Phần kết luận

      Chúng tôi có thể kết nối với bất kỳ cơ sở dữ liệu nào từ PHP không?

      Đối tượng dữ liệu PHP (PDO) là một tiện ích mở rộng đóng vai trò là giao diện để kết nối với cơ sở dữ liệu . Không giống như MySQLi, nó có thể thực hiện bất kỳ chức năng cơ sở dữ liệu nào và không giới hạn đối với MySQL. Nó cho phép linh hoạt giữa các cơ sở dữ liệu và tổng quát hơn MySQL. PDO hỗ trợ cả câu lệnh chuẩn bị phía máy chủ và phía máy khách.