我正在从自定义 WordPress 数据库表中获取名称、链接和日期,以显示在我的一个页面上。我怎样才能获取所有详细信息?
我已经成功编写了基本的 WordPress 查询来获取数据,但有趣的是,表中最后更新(插入)的记录是唯一显示的记录。我相信问题可能出在我的循环中或类似的地方......
这是我的代码:
function externalLinks($atts){
$atts = shortcode_atts( array(
'class' => ''
), $atts, 'externalLinks');
global $wpdb;
$table_name = "external_links";
$myrows = $wpdb->get_results("SELECT * FROM $table_name");
foreach ($myrows as $row)
{
$name = $row->name;
$link = $row->link;
$date = $row->date;
}
$html = '<ul>
<li><a href='.$link.' target="_blank">'.$name.'</a>
<span class="post-date">'.$date.'</span>
</li>
</ul>';
return $html;
}
add_shortcode('externalLinks', 'externalLinks');
我希望输出超过一个,因为我在表中有几个条目...
最佳答案
问题在于如何处理从数据库检索的数据。
在 foreach
循环中,您将分配 $name
、$link
和 $date
循环中当前行的值。当循环结束时,$name
、$link
和 $date
已拥有最后一行的所有相应值.
将您的代码更改为此,它将按预期工作:
function externalLinks($atts){
$atts = shortcode_atts( array(
'class' => ''
), $atts, 'externalLinks');
global $wpdb;
$table_name = "external_links";
$myrows = $wpdb->get_results("SELECT * FROM $table_name");
// Opening <ul> tag
$html = '<ul>';
foreach ($myrows as $row)
{
$name = $row->name;
$link = $row->link;
$date = $row->date;
// Now we're adding the values of this
// row to the $html variable, ergo to our list
$html .= '<li>
<a href='.$link.' target="_blank">'.$name.'</a>
<span class="post-date">'.$date.'</span>
</li>';
}
// Add the closing </ul> tag
$html .= '</ul>';
return $html;
}
add_shortcode('externalLinks', 'externalLinks');
关于php - 有没有办法从自定义 worpress 表中获取数据,我的查询获取表中最后更新的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54153988/