在Wordpress中添加自定义PHP页面/帖子以显示基于URL的数据

时间:2014-05-03 21:04:10

标签: php wordpress

我正在为学生创建一个简单的数据库,并希望使用现在可用的任何方法在wordpress中实现它。

每个学生的详细信息,如名字,班级等,都将保存在数据库中,ID作为主键。

在PHP中,曾经有一个文件,如details.php等,基于使用GET或POST方法传递的QUery,它将显示详细信息。我们可以在Wordpress中使用SINGLE Page或Post进行相同的操作;

我没有为每个学生创建单独的页面/帖子,而是使用WP插件在页面/帖子中创建了PHP查询,该插件将根据查询ID显示学生的详细信息。

但是我不知道如何将其推广到一样,以便在进入http://mywpsite.com/studentpageorpost/?id=10时,我应该得到ID为10的学生的详细信息;在输入http://mywpsite.com/studentpageorpost/?id=11时,我应该获得ID 11的详细信息;

任何人都可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:3)

如果我理解的话,代码会像这样工作:
1从url中取出id号并存储
1.1 htmlspecialchars()用于转换html标签,因此你不能被php注入攻击

$id = htmlspecialchars( $_GET["id"] );

2这里我们使用wordpress函数get_userdata();将用户信息存储在一个对象中 2.1如果未找到ID,则返回false。

$user_data = get_userdata( $id ); 

访问Usermeta数据

$user_data = get_userdata( $id );
      echo $user_data->last_name .  ", " . $user_info->first_name . "\n";

结果:

Doe,John

如果您想知道如何使用print_r($user_data);访问更多用户信息,并输出用户拥有的所有信息。

以下是wp_users和wp_usermeta表中的一些有用值,您可以使用此函数访问这些值以在主题或插件中使用:

  • 用户
    • ID
    • USER_LOGIN
    • user_pass
    • user_nicename
    • USER_EMAIL
    • user_url
    • user_registered
    • DISPLAY_NAME

  • user_meta
    • user_firstname
    • user_lastname
    • 昵称
    • 描述
    • wp_capabilities(array)
    • admin_color(管理页面的主题。默认为新鲜。)
    • closedpostboxes_page
    • primary_blog
    • rich_editing
    • source_domain

编辑:我认为上述系统最简单的仍然是MarkBlythe sed,不需要个人帐号,可以使用自定义帖子类型插件和自定义字段。您可以使用此函数wp_create_user( $username, $password, $email );

在循环和数组中快速添加学生