cách để xem truy vấn hiện đang thực thi trong wordpress là gì?


12

Tôi đang làm việc trên wordpress mới đối với tôi Bây giờ tôi đã được cung cấp trang web được thiết kế hoàn toàn trong wp Nhưng vấn đề là tôi không thể tìm kiếm truy vấn cho từng chức năng / trang tôi tìm thấy

$wpdb->get_results

được sử dụng để nhận kết quả từ cơ sở dữ liệu, điều này không hoạt động

$wpdb->queries

Có cách nào để in từng truy vấn hiện đang thực hiện không?.

Xin vui lòng giúp đỡ.


Bạn có muốn xem truy vấn SQL đang được thực thi không?
Rutwick Gangurde

Không phải là tôi sẽ không khuyến khích làm quen với những người bên trong, nhưng gợi ý này cho một câu hỏi khác mà câu trả lời của họ sẽ rất khác nhau. Vấn đề gì bạn đang cố gắng giải quyết?
Annika Backstrom

Câu trả lời:



10

Để $wpdb->querieslàm việc, bạn cần cấu hình trong wp-config.php:

define('SAVEQUERIES', true);

Điều này rất không được khuyến khích cho sản xuất (hiệu suất nặng) và do đó được tắt theo mặc định.


Đây là cách hoàn hảo ... +1!
Rutwick Gangurde

6

Tôi thường làm điều này khi tôi cần kiểm tra truy vấn hiện tại:

add_action( 'wp_head', 'show_current_query' );

function show_current_query() {
    global $wp_query;

    if ( !isset( $_GET['q'] ) )
        return;
    echo '<textarea cols="50" rows="10">';
    print_r( $wp_query );
    echo '</textarea>';
}

Để hiển thị truy vấn hiện tại, chỉ cần thêm ?qvào URL hiện tại.

Điều này sẽ hiển thị truy vấn hiện tại (được lưu trữ trong biến toàn cục $ wp_query), bao gồm truy vấn SQL và tất cả các biến truy vấn khác.



0

Toàn cầu $wp_querychứa mọi thứ về truy vấn hiện tại, bao gồm các đối số, kết quả, nội dung của kết quả và chính truy vấn đó.

$wp_query->request nên làm công việc cho bạn ở đây.



0

Bạn có thể sử dụng plugin Wp Pear Debug . Nó sẽ hiển thị cho bạn một danh sách các truy vấn được thực hiện trong trang, số giây mà các truy vấn đó đã thực hiện và hàm php đã khởi tạo truy vấn. Xin lưu ý rằng bạn phải lưu cài đặt ít nhất một lần trước khi bắt đầu hoạt động.


0

Không cần cài đặt bất kỳ plugin nào, bạn có thể sử dụng:

$queried_object = get_queried_object();
var_dump( $queried_object );

Nguồn: Codex


0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

I E.

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.