我创建了一个循环,用于提取有关用户活动的信息。代码在作者页面上,我想要的是获取当前作者ID,因此根据用户所在的作者页面,它将获取该作者的ID。
见下文,我希望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>
答案 0 :(得分:20)
试试这个:
<?php $author_id=$post->post_author; ?>
它将为您提供当前作者ID。
或者这个会帮助你更多:
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 );
感谢。
答案 1 :(得分:13)
答案 2 :(得分:1)
在作者档案中,以下内容将获得作者ID:
$author_ID = get_query_var('author');
这将为您提供更多信息:
$pageobj = get_queried_object();
http://codex.wordpress.org/Function_Reference/get_query_var
http://codex.wordpress.org/Function_Reference/get_queried_object
答案 3 :(得分:0)
试试这个
global $wp_query;
$thePostID = $wp_query->post->ID;
$postdata = get_postdata($thePostID);
$authorID = $postdata['Author ID'];
或类似的东西
<?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 ); ?>
答案 4 :(得分:-2)
这里的工作代码
<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>