Я пытаюсь создать короткий код, который возвращает список врачей, соответствующих специальности.
Пока что я могу получить базовый шорткод для возврата содержимого всей таблицы, но не могу получить его для запроса на основе строки атрибута.
Вот что у меня есть:
// Add Shortcode
function list_docs( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'specialty' => '',
),
$atts,
'doctors'
);
global $wpdb;
$specialty = $atts['specialty'];
$specget = $wpdb->prepare("SELECT * FROM doctors WHERE specialty = '%s'", $specialty);
$specresults = $wpdb->get_results($specget);
foreach($specresults as $details) {
echo $details;
}
}
add_shortcode( 'doctors', 'list_docs' );
Если я запрашиваю базу данных напрямую:
SELECT * FROM `doctors` WHERE `specialty` = 'cardiology'
Я получаю ожидаемый результат.
Я пытаюсь вызвать его с помощью [doctors specialty="cardiology"]
(я пробовал двойные и одинарные кавычки) на странице WordPress.
Прямо сейчас я не знаю, чего не знаю. Я не уверен, что я ввел что-то неправильно, имею опечатку, или пропускаю строку кода. Любая помощь будет потрясающей.