Im создает цикл, в котором он извлекает информацию о деятельности пользователей. код находится на странице автора, а то, что я хочу, – это получить текущий идентификатор автора, поэтому на основе той страницы автора, на которой пользователь находится, вы получите идентификатор этого автора.
См. Ниже, я бы хотел, чтобы AUTHOR-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>
Попробуйте следующее:
<?php $author_id=$post->post_author; ?>
он предоставит вам текущий идентификатор автора.
или этот поможет вам больше:
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 );
Благодарю.
<?php the_author_meta( 'ID' ); ?>
Вероятно, лучше.
Ссылка: the_author_meta
В архиве автора будет получен идентификатор автора:
$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
Попробуй это
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 ); ?>
Рабочий код здесь
<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>
.<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>