因此,我可以编辑模板文件,通过创建一个选择了该模板的新页面来回显登录用户(http://www.makeuseof.com/tag/working-custom-database-tables-wordpress/)的数据库信息。
我有一个包含内容的页面,其中包含一个div(id ="数据库")。我想将一些数据库内容回显到选定的div中。我在模板文件中使用它来在主页内容之后执行此操作:
<?php
if (is_user_logged_in())
{
global $wpdb;
$customers = $wpdb->get_results("SELECT * FROM wps6_comments;");
print_r($customers);
}
?>
我不确定的是 - 如何将此内容插入页面内容本身(即Wordpress内容)而不是之后。有什么想法吗?
答案 0 :(得分:0)
啊,WP Loop。尼斯。
您遇到的问题是您需要为帖子设置上下文。 (不要。不要使用$ wpdb ...在这样的文件中编写SQL语句不是一个好习惯。唉,你这样做我会在我的例子中使用它。)
<?php
// Setup and Query
global $wpdb;
$query = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'";
$result = $wpdb->get_results($query);
// Iterate through
foreach($result as $post):
// Set Post Context
setup_postdata($post);?>
<li><a href="<?php the_permalink()?>"><?php the_title();?></a></li><?php
wp_reset_postdata();
endforeach;?>
</ul>
我相信这就是你要找的东西。请注意,我有一段时间没有使用过vanilla php模板而且必须运行,因此必然存在语法错误。
以下是一些文档链接: https://codex.wordpress.org/Function_Reference/setup_postdata 还有一些理论: https://developer.wordpress.org/themes/basics/the-loop/