我正在尝试将简码用于词汇表功能。该函数连接到数据库,查询单词并返回定义。
目前,如果我使用自动关闭的简码,它就可以工作。
例如:
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>.
我更喜欢使用封闭的简写,例如 [glossary]administrator[/glossary] 不幸的是,我无法让它工作,因为我不知道如何(或者是否可能)将 $content 作为变量传递(到发送到数据库并找到定义)。
从下面更新。如果我将其简化为:
<?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");
?>
并使用 [glossary]administrator[/glossary] 它只是在内容中返回 [glossary]administrator。