Trong cài đặt đa trang Wordpress 3.0 của chúng tôi, chúng tôi có tùy chọn tùy chỉnh cho tất cả các blog của chúng tôi được gọi là 'nền tảng'. Quản trị viên có thể nhập giá trị cho nền tảng này khi tạo hoặc chỉnh sửa blog. Một số blog có thể không có nền tảng.Làm thế nào tôi có thể đồng thời truy vấn tất cả các bảng tùy chọn blog trong một cài đặt nhiều trang Wordpress (3.0)?
Chúng tôi cần có thể tạo danh sách tất cả nền tảng và blog được liên kết của họ. Vấn đề là, chúng tôi tự động tạo và xóa blog thông qua các cơ chế trang web khác, vì vậy chúng tôi có rất nhiều bảng tùy chọn blog với các con số không nhất thiết phải tiếp giáp. (ví dụ: wp_2_options, wp_4_options, wp_12_options, v.v.)
Câu hỏi của tôi là, có cách nào trong Wordpress để chọn một tùy chọn trên tất cả các blog? Ngược lại, có một truy vấn tôi có thể chạy mà sẽ làm điều này bằng tay? Tôi đã thử một cái gì đó như thế này để không ảnh hưởng gì:
SELECT * FROM (SELECT tên_bảng TỪ information_schema.tables ĐÂU tên_bảng như 'wp _% _ tùy chọn') như t ĐÂU OPTION_NAME = 'nền tảng'
Liệu nó có ý nghĩa những gì tôi đang cố gắng làm? Một lần nữa, tôi xin lỗi vì thiếu kiến thức MySql, nhưng tôi không thể tìm thấy bất kỳ câu trả lời nào về cách thực hiện điều này. Tôi cũng có thể truy vấn tất cả các tên bảng này trước, sau đó truy vấn từng bảng riêng biệt, nhưng đó không thực sự là một tùy chọn vì chúng tôi có nhiều blog và chúng tôi có thể cần phải chạy truy vấn này cho nhiều yêu cầu trang cùng một lúc và điều này sẽ thêm hàng trăm truy vấn cho từng yêu cầu này.
Bất kỳ lời khuyên hoặc giúp đỡ nào các bạn có thể đưa ra sẽ được đánh giá cao.
nhờ cho việc này. bạn có biết làm thế nào bạn có thể truy vấn nhiều tùy chọn? – Alex
Hmmm, tôi tin rằng tất cả những gì bạn cần làm là thay đổi mệnh đề WHERE của các truy vấn bên trong của bạn. Một cái gì đó như: "... WHERE option_name = '$ option_name1' OR option_name = '$ option_name2'"; ... Bạn cũng có thể sử dụng MYSQL IN clase "... WHERE option_name IN ('$ option_name1', '$ option_name2')" Hy vọng rằng sẽ giúp! –