Tôi đang chạy một mạng nhiều trang và tôi đã thiết lập một truy vấn sql sử dụng swith_to_blog (); và truy vấn các bài viết.
Có cách nào để tôi có thể khai báo truy vấn bên trong WP_Query mới và thực sự hợp nhất truy vấn đó với một truy vấn khác không?
Về cơ bản nếu tôi làm điều này:
$number1 = new WP_Query($multisitequery);
Tôi có thể hợp nhất nó với:
$number2 = new WP_Query($normalquery);
$normalquery
giữ các cài đặt như phân trang, mỗi trang, đoạn trích, tiêu đề, v.v ... trên một shortcode danh mục đầu tư.
Tôi muốn nó bao gồm các bài viết được truy vấn từ $multisite
truy vấn mới của tôi .
Điều này có thể đạt được? Chỉ muốn cứu tôi khỏi việc tạo một thiết lập shortcode hoàn toàn mới lol
Rất cám ơn trước. Rory
CHỈNH SỬA ========
Những gì tôi có là:
$portfolio = array();
$portfolio = $settings;
Tiếp tục xuống chức năng danh mục đầu tư của tôi "sau tất cả các cài đặt $ ['tùy chọn']" tôi có:
$portfolio_query = new WP_Query( $portfolio );
việc $portfolio_query
sử dụng một vòng lặp trên một mẫu trang.
Tôi muốn thêm một truy vấn vào đây như vậy:
global $wpdb, $blog_id, $post;
$blogs = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM wp_blogs ORDER BY blog_id" ) );
$globalcontainer = array();
foreach ($blogs as $blog){
switch_to_blog($blog->blog_id);
$globalquery = query_posts($args);
$globalcontainer = array_merge( $globalcontainer, $globalquery );
restore_current_blog();
}
trong đó tôi giả sử đó $globalcontainer
sẽ là mảng để hợp nhất vào wp_query();
.
Vì vậy, trên tàu những gì bạn đã trả lời, theo lý thuyết tôi có thể chỉ đơn giản là:
$mergedqueryargs = array_merge($portfolio , $globalcontainer);
$portfolio_query = new WP_query($mergedqueryargs);
Điều đó có đúng không?
Thứ hai, liên quan đến việc ghi đè khóa mảng Array_merge ..... Làm thế nào tôi có thể dừng việc ghi đè?