php 在 wordpress 中获取帖子的作者 ID
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19176691/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Get author ID of a post in wordpress
提问by Zackskeeter
Im creating a loop where it pulls info about a users activity. the code is on the author page and what i want to to is get the current author ID, so based on what author page the user is on it will fetch the ID of that author.
我创建了一个循环,在其中提取有关用户活动的信息。代码在作者页面上,我想要的是获取当前作者 ID,因此根据用户所在的作者页面,它将获取该作者的 ID。
See below, i would want AUTHOR-ID to be the ID of the current author.
见下文,我希望 AUTHOR-ID 是当前作者的 ID。
<script type="text/javascript">
var pieData = [
<?php
$user_id = AUTHOR-ID;
/* Get all categories */
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$categories = get_terms( 'category', 'orderby=count&hide_empty=0' );
/* Loop for each category to count the posts of the user */
foreach($categories as $category)
{
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
$cat_name = $category->name;
$cat_id = $category->term_id;
$post_count = count(get_posts("cat=$cat_id&post_author=$user_id"));
echo "
{
value: ".$post_count.",
color:'".$color."',
label: ".$user_id."
},";
}
?>
]
var myPie = new Chart(document.getElementById("piec").getContext("2d")).Pie(pieData);
</script>
回答by Krunal Shah
Try with this :
试试这个:
<?php $author_id=$post->post_author; ?>
it will give you current author id.
它会给你当前的作者 ID。
or this one will helps you more:
或者这个会帮助你更多:
global $current_user;
get_currentuserinfo();
$args = array(
'author' => $current_user->ID, // I could also use $user_ID, right?
);
// get his posts 'ASC'
$current_user_posts = get_posts( $args );
Thanks.
谢谢。
回答by bryceadams
<?php the_author_meta( 'ID' ); ?>
<?php the_author_meta( 'ID' ); ?>
Is probably better.
可能会更好。
Ref: the_author_meta
参考: the_author_meta
回答by s_ha_dum
On an author archive the following will get the author ID:
在作者档案中,以下内容将获得作者 ID:
$author_ID = get_query_var('author');
This will get you a lot more information:
这将为您提供更多信息:
$pageobj = get_queried_object();
Reference:
参考:
http://codex.wordpress.org/Function_Reference/get_query_var
http://codex.wordpress.org/Function_Reference/get_queried_object
http://codex.wordpress.org/Function_Reference/get_query_var
http://codex.wordpress.org/Function_Reference/get_queried_object
回答by Vaibs_Cool
Try this
尝试这个
global $wp_query;
$thePostID = $wp_query->post->ID;
$postdata = get_postdata($thePostID);
$authorID = $postdata['Author ID'];
or something like this
或类似的东西
<?php $author_id=$post->post_author; ?>
<img src="<?php echo the_author_meta( 'avatar' , $author_id ); ?> " width="140" height="140" class="avatar" alt="<?php echo the_author_meta( 'display_name' , $author_id ); ?>" />
<?php echo the_author_meta( 'user_nicename' , $author_id ); ?>
回答by Zackskeeter
Working code here
工作代码在这里
<script type="text/javascript">
var pieData = [
<?php
$user_id = get_query_var('author');
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
//get all posts from author
$args = array(
'post_type' => 'post',
'author'=> $queried_object->ID
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
//put categories in array
$cat = get_the_category( get_the_ID() );
$terms[] = $cat[0]->term_id;
endwhile;
wp_reset_query();
endif;
//count matching categories (array vals)
$countVal = array_count_values($terms);
foreach($countVal as $count){
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo " {
value: ".$count.",
color:'".$color."'
},";
}
?>
]
var myPie = new Chart(document.getElementById("piec").getContext("2d")).Pie(pieData);
</script>