post id not displaying

时间:2012-06-01 作者:designersvsoft

我在标题中使用了此代码。php

### get the author info
global $current_user;
get_currentuserinfo();
$authorid = $current_user->ID;
### get the last post id using author id
$info=mysql_query("SELECT * FROM wp_posts WHERE post_author = $authorid ORDER BY post_date DESC LIMIT 1");
$array_content = mysql_fetch_array( $info );
$postid_profile = $array_content[\'ID\'];
当我在标题中打印$postid\\U配置文件时。php它显示正确。但如果我打印$postid_profile 单件。php它不显示任何内容。我无法跟踪错误。我怎样才能解决这个问题?

1 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

你呼叫你的标题。通过调用get_header() 功能单一。php文件。这意味着你的$postid_profile 变量仅存在于的范围内get_header() 作用要使其在全局范围内可见,需要将变量设置为全局变量。

因此,您的代码应该修改如下:

### get the author info
global $current_user, $postid_profile;
get_currentuserinfo();
$authorid = $current_user->ID;
### get the last post id using author id
$info=mysql_query("SELECT * FROM wp_posts WHERE post_author = $authorid ORDER BY post_date DESC LIMIT 1");
$array_content = mysql_fetch_array( $info );
$postid_profile = $array_content[\'ID\'];
现在您的$postid_profile 变量将存在于全局范围内,并且可以在单个范围内访问。php文件。

作为补充,我强烈建议您使用$wpdb 变量来执行所有db查询调用。此外,还可以获取您可以使用的当前用户idget_current_user_id() 作用因此,您的代码应该如下所示:

### get the author info
global $postid_profile;
get_currentuserinfo();
$authorid = get_current_user_id();
### get the last post id using author id
$array_content = $wpdb->get_row("SELECT * FROM wp_posts WHERE post_author = $authorid ORDER BY post_date DESC LIMIT 1", ARRAY_A);
$postid_profile = $array_content[\'ID\'];

结束

相关推荐

对于过去24小时内写的帖子,我该如何编写这条SQL语句?

有人给了我这个SQL代码来计算过去7天内的帖子数量(post\\u类型的“mixtaples”)。我也尝试将其转换为“在过去24小时内”,但它给出了错误的号码。以下是他的代码,有效期为7天:$querystr = $wpdb->get_var(\"SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = \'publish\' AND post_type = \'mixtapes\' AND post_date >= DATE_SUB(C