我构建了一个这样的短代码:
[myshortcode id="4"]content[/myshortcode]
用这个:
<?php
function f_shortcode($atts, $content = null) {
$returned_string = '<div class="wrap">';
$returned_string .= '<div class="frame">'.$content.'</div>';
$returned_string .= '</div>';
return $returned_string;
}
add_shortcode('myshortcode', 'f_shortcode');
?>
我的短代码需要的是从数据库中的选项表中检索记录(即根据短代码中给出的id检索内容)
在选项表中我有:
a:1:{i:0;O:8:"stdClass":4:{s:2:"id";s:1:"4";s:9:"title";s:5:"test";s:11:"content";s:5:"test content";s:13:"shortcode";s:29:"[myshortcode id="4"][/myshortcode id="4"]";}}
因此,为了检索内容,我已将这种代码安静添加到我的函数中:
extract(shortcode_atts(array(
'id' => 'id'
), $atts));
if(get_option('results_options') && get_option('results_options') != ''){
$results = get_option('results_options');
foreach ($results as $result){
if($result->id == '{$id}'){
$content = $result->content;
continue;
}
}
}
在我的表中,内容在那里,但它没有显示或甚至无法检索,我的代码是否有问题?
如何在函数中获取id="4"
参数来从中检索数据库中的记录?