#php #sql #wordpress
Вопрос:
Я использую древесину (ВЕТКУ) и WordPress.
Я пытаюсь создать буквенно-цифровой фильтр с первой буквой/номером заголовка сообщения.
A — B — C — D…. [0-9]
Пример результата, когда я выбираю «А» :
- Анатоль
- Аррас
- Артемида
Когда $context['alpha']
равно «num», я получил ошибку :
wpdb::подготовка была вызвана неправильно. Аргумент запроса wpdb::prepare() должен содержать заполнитель.
$context['alpha'] = 'num';
$postids = [];
if ($context['alpha']) {
if ($context['alpha'] == "num") {
$postids = $wpdb->get_col($wpdb->prepare("
SELECT ID
FROM $wpdb->posts
WHERE $wpdb->posts.post_title regexp '^[0-9]'
AND $wpdb->posts.post_type = 'exhibitors'
ORDER BY $wpdb->posts.post_title"));
} else {
$postids = $wpdb->get_col($wpdb->prepare("
SELECT ID
FROM $wpdb->posts
WHERE SUBSTR($wpdb->posts.post_title,1,1) = %s
AND $wpdb->posts.post_type = 'exhibitors'
ORDER BY $wpdb->posts.post_title",$context['alpha']));
}
}
$list_exhibitors_complete = Timber::get_posts(array(
'post__in' => $postids,
'post_type' => 'exhibitors',
'post_status' => 'publish',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => -1
));
Что случилось, пожалуйста ?