web-dev-qa-db-ja.com

wordpress=で投稿の著者IDを取得

ユーザーアクティビティに関する情報を取得するループを作成しています。コードは著者ページにあり、私がしたいのは現在の著者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>
19
Zackskeeter

これで試してください:

<?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 );

ありがとう。

20
Krunal Shah

<?php the_author_meta( 'ID' ); ?>

おそらくより良いです。

参照: the_author_meta

14
bryceadams

著者アーカイブでは、次のものが著者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

2
s_ha_dum

これを試して

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 ); ?> 
0
Vaibs_Cool