Bootstrap Skip to main content
Use code LAMVT for an extra 10% off!

From the Firehose

5/5 - (2 bình chọn)

Câu hỏi:

Tôi từng biết một hàm có chức năng hiển thị lại chính xác code SQL được sử dụng trong một vòng lặp chẳng hạn. Nhưng giờ tôi không thể nhớ nó.

Ai đó có thể nói cho tôi biết hàm đó là hàm gì không?

Keith Donegan

Câu trả lời chính xác nhất

Hiển thị truy vấn SQL đã chạy trong truy vấn trước đó hien-thi-truy-van-sql-da-chay-trong-truy-van-truoc-do

Xin chào @Keith Donegan:

Nếu tôi không hiểu nhầm câu hỏi của bạn thì tôi nghĩ đây là cái bạn đang tìm kiếm?

<?php echo $GLOBALS[‘wp_query’]->request; ?>

$wp_query là một biến toàn cục chứa truy vấn hiện tại đang chạy vòng lặp. Nếu bạn chạy code trên trong khi vòng lặp vẫn đang hoạt động hoặc thậm chí ngay sau vòng lặp, nó sẽ cho bạn SQL từ vòng lặp. Hãy chắc chắn bạn kiểm tra nó trước khi cho phép mọi thứ chạy và chạy lại query_posts().

Câu trả lời của MikeSchinkel

Làm thế nào để lấy các truy vấn của $wpdb? $GLOBALS[‘wpdb’]->request không hoạt động. – mpsbhat

Cái này hoạt động cả đối với truy vấn tùy chỉnh (custom query), $my_query = new WP_Query([ /* …some args… */ ]); => $my_query->request – jave.web

Nếu bạn chạy một truy vấn dựa trên WP_Query, nó sẽ là cái này:

$customPosts = new WP_Query($yourArgs);

echo “Last SQL-Query: {$customPosts->request}”;

Câu trả lời của Till

Nếu bạn chỉ quan tâm đến các vòng lặp thì đây là cái mà tôi thường dùng:

add_filter( ‘posts_request’, ‘dump_request’ );

function dump_request( $input ) {

var_dump($input);

return $input;

}

Câu trả lời của Rarst

Hãy xem câu trả lời này: Best Collection of Code for your functions.php file

Sau đó thêm ?debug=sql vào các WP URL, và nó sẽ trả về danh sách đầy đủ các truy vấn đã được chạy.

Câu trả lời của Denis de Bernardy

 

About

Chào bạn, mình là Vũ Thành Lâm.
Tri Thức là Sức Mạnh, Tri thức không của riêng ai, hãy chia sẻ nó!

Recent posts