Tôi đã đăng ký một loại bài tùy chỉnh được gọi là "nút".
Khi tôi tạo một WP_Query cơ bản để nhận các bài đăng thuộc loại đó, nó hoạt động tốt. Thí dụ:
$args = array(
'post_status' => 'publish',
'post_type' => 'node');
$query = new WP_Query($args);
Điều này sẽ nhận được tất cả các bài viết được xuất bản của loại "nút".
Tuy nhiên, ngay khi tôi kết hợp điều này với một tìm kiếm, không có gì được trả lại. Thí dụ:
$args = array(
'post_status' => 'publish',
'post_type' => 'node',
's' => 'My search term');
$query = new WP_Query($args);
Điều này sẽ không nhận được gì, mặc dù nó sẽ nhận được một số bài đăng thuộc loại 'nút' có chứa 'Thuật ngữ tìm kiếm của tôi'.
Theo như tôi có thể thấy, các loại bài đăng sẽ tự động được đặt thành "bài" và "trang" ngay khi tôi đưa tham số "s" vào $ args. Nếu tôi in ra một var_dump của $ query, nó sẽ hiển thị như sau:
Không có "s":
object(WP_Query)
public 'query' =>
array (size=2)
'post_status' => string 'publish' (length=7)
'post_type' => string 'node' (length=4)
public 'query_vars' =>
array (size=63)
'post_status' => string 'publish' (length=7)
'post_type' => string 'node' (length=4)
...
Với "s":
object(WP_Query)
public 'query' =>
array (size=2)
'post_status' => string 'publish' (length=7)
's' => string 'My search term' (length=14)
'post_type' => string 'node' (length=4)
public 'query_vars' =>
array (size=66)
'post_status' => string 'publish' (length=7)
's' => string 'My search term' (length=14)
'post_type' =>
array (size=2)
0 => string 'post' (length=4)
1 => string 'page' (length=4)
...
Vì vậy, Wordpress dường như ghi đè các loại bài đăng ngay khi tìm kiếm.
Lam sao tôi co thể sửa no?