Я пытаюсь использовать шорткоды для функции глоссария. Функция подключается к базе данных, запрашивает слово и возвращает определение.
В настоящее время работает, если я использую самозакрывающиеся шорткоды.
Например:
function defineGlossary($atts) {
extract(shortcode_atts(array(
'term' => '0'
), $atts));
// connect to database and grab definition
$glossary_output .= "<span title='";
$glossary_output .= $result_definition;
$glossary_output .= "'>";
$glossary_output .= $term;
$glossary_output .= "</span>";
return $glossary_output;
}
add_shortcode("glossary", "defineGlossary");
[glossary = "administrator"], так как шорткод отлично работает с этим кодом. Возвращает
<span title="definition pulled from the database">administrator</span>.
Я бы предпочел использовать закрывающую шорткозу, такую как [глоссарий] администратор [/ глоссарий] К сожалению, я не могу заставить это работать, так как я не знаю, как (или если это возможно) передать содержимое $ как переменная (для отправки в базу данных и поиска определения).
Обновление снизу. Если я упросту это до:
<?php
function defineGlossary($atts, $shortcodeContent = null) {
$glossary_output .= "<span title='";
$glossary_output .= "Sample Definition";
$glossary_output .= "'>";
$glossary_output .= $shortcodeContent;
$glossary_output .= "</span>";
return $glossary_output;
}
add_shortcode("glossary", "defineGlossary");
?>
И используйте [глоссарий] администратор [/ глоссарий], он просто возвращает [глоссарий] администратор в контенте.