Запрос по "похожему" заголовку записи

11 февр. 2013 г., 12:21:45
Просмотры: 96.3K
Голосов: 17

Я использовал пользовательский тип записи для своего сайта. Этот тип записи содержит данные о скретч-картах вместе с некоторыми произвольными полями.

Я разработал android-приложение для управления этими элементами с мобильного устройства.

В android-приложении я хочу реализовать функцию поиска, которая поможет администраторам находить номера карт для управления ими.

Я могу использовать запрос WordPress для поиска по заголовку.

$args = array("post_type" => "mytype", "name" => $title);
$query = get_posts( $args );

Это работает только если я указываю точный заголовок. Но мне нужно получать все элементы с похожими заголовками.

Есть предложения?

1
Комментарии

Вместо использования get_posts() вы можете использовать стандартный поисковый запрос WordPress, который предоставит вам результаты по искомому термину. Он также покажет все совпадающие результаты со всеми вашими поисковыми запросами.

Rohit Pande Rohit Pande
11 февр. 2013 г. 12:44:56
Все ответы на вопрос 3
2
33

Вы можете использовать либо параметр search в wp_query:

$args = array("post_type" => "mytype", "s" => $title);
$query = get_posts( $args );

Или можете получить записи по заголовку через класс wpdb:

global $wpdb;
$myposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_title LIKE '%s'", '%'. $wpdb->esc_like( $title ) .'%') );

После этого вы получите объект записи в таком виде:

foreach ( $myposts as $mypost ) 
{
    $post = get_post( $mypost );
    //ваш код для вывода здесь
}
11 февр. 2013 г. 12:52:20
Комментарии

Это работает в 2019?

Naren Verma Naren Verma
12 дек. 2019 г. 20:58:49

Обратите внимание, что использование параметра s в get_posts будет искать не только в заголовках... поиск также включает содержимое записи.

FluffyKitten FluffyKitten
11 июл. 2020 г. 18:48:00
3
13

Гораздо проще в наше время:

$posts = get_posts([
    'post_type'  => 'recipe',
    'title' => 'Chili Sin Carne',
]);

$posts будет содержать все рецепты с точным названием "Chili Sin Carne".

2 нояб. 2020 г. 04:00:14
Комментарии

OP просил нечеткое соответствие

alexg alexg
11 мая 2021 г. 18:27:25

Ой, точно. Я только заголовок прочитал :$

Jules Jules
15 мая 2021 г. 13:18:02

спасибо. сработало

Akshay K Nair Akshay K Nair
27 дек. 2021 г. 13:29:45
0

Вы можете сделать что-то подобное:

$posts = get_posts([
            'post_type'   => 'recipe',
            'post_status' => ['publish', 'draft', 'private'],
            's'           => 'строка поиска',
            'search_columns' => ['post_title']
        ]);

Это будет искать только в post_title (заголовке записи)

9 дек. 2023 г. 13:53:39