基本上,我有这行代码:
<?php echo do_shortcode(\'[O_U user_name="operator"
blocked_message="This page is restricted for guests."]
**Content Goes here** [/O_U]\'); ?>
现在,内部内容在这里,我使用常规HTML创建我的内容。但是,现在,我需要在HTML中添加一些php。
现在,我需要填充select 用MySQL结果标记。
我有一个php代码:
<?php
$database_name = "rams";
$mydb = new wpdb(DB_USER, DB_PASSWORD, $database_name, DB_HOST);
$mydb -> show_errors();
//Populate languages
$languages = $mydb -> get_results(
\'SELECT * FROM language_skills\'
);
foreach ($languages as $language){
//do some echo of html
}
?>
我怎样才能在这里取得成果?现在,echo在那里等待字符串。我曾考虑过heredoc和一个自定义函数,但我似乎无法实现这个结果。
UPDATE:
我设法得到了我的数据。它在一个数组中。如何在上述情况下显示所有数组结果?
我的数组是这样的:
<option value="$value">$content</option>
它准确地显示了我使用时需要的内容:
[shortcode].$array[index].[/shortcode]
如何添加所有索引?我尝试了每个,但在短代码之间不起作用
答复:
我使用内爆将数组更改为字符串,代码现在可以按我的需要工作。
SO网友:Rohit Pande
使用PHP
在函数定义中填充,而不是在执行短代码时。
若要对Fischi的答案进行更多补充,您可以参考下面的代码片段。
function wptuts_first_shortcode($atts, $content=null){
$return_variable = "";
$database_name = "rams";
$mydb = new wpdb(DB_USER, DB_PASSWORD, $database_name, DB_HOST);
$mydb -> show_errors();
//Populate languages
$languages = $mydb -> get_results(
\'SELECT * FROM language_skills\'
);
foreach ($languages as $language){
$return_variable = $return_variable."<br />".$language;
}
return $return_variable;
}
add_shortcode($return_variable, \'wptuts_first_shortcode\');
您可以在快捷代码显示中使用返回值。
参考link 供其他参考。