我想要达到的目标是: 我有一个包含多行的自定义表。 每一行都是与页面链接的项目("页面"行的字段是页面的名称),因此当我打开页面时,我会获得链接到该页面的所有项目。
我设法获取与页面名称对应的行。但我不知道如何管理阵列。
我们的想法是将变量传递给页面模板,以便自动填充正确的数据。
global $wpdb;
$mytitle = get_the_title();
$results = $wpdb->get_row($wpdb->prepare('SELECT * FROM wp_mytable WHERE page = %s', $mytitle));
$item-list = array();
foreach ($results as $r)
{
$item-name = $r->name;
$item-description = $r->desc;
$item-list = "some html code with $item-name and $item-description";
}
在页面模板中,我只会<?php echo $item-list; ?>
以获取该页面的所有项目。
但它似乎不起作用。
任何帮助将不胜感激 感谢。
答案 0 :(得分:1)
如果您想获取多个数据,则应使用
get_results()
而不是get_row()
。
试试这段代码。
global $wpdb;
$mytitle = get_the_title();
$results = $wpdb->get_results($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'mytable WHERE page = %s', $mytitle));
$item_list = '<ul>';
foreach ($results as $r)
{
$item_name = $r->name;
$item_description = $r->desc;
$item_list .= '<li>' . $item_name . ' ' . $item_description . '</li>';
}
$item_list .='</ul>';
现在$item_list
保存列表HTML,以便通过将其回显为<?php echo $item_list; ?>
来使用它。
希望这有帮助!