在处理我的第一个WordPress主题时,我根据this tutorial 它本身是基于2014年的主题。
我无法理解的是:
$post_count = count_user_posts( $contributor_id );
从这个代码示例中(特别检查我的第一个问题的前10行,这很可能会自动回答我的最后几个问题):
<?php
// Output the authors list.
$contributor_ids = get_users( array(
\'fields\' => \'ID\',
\'orderby\' => \'post_count\',
\'order\' => \'DESC\',
\'who\' => \'authors\',
));
foreach ( $contributor_ids as $contributor_id ) :
$post_count = count_user_posts( $contributor_id );
// Move on if user has not published a post (yet).
if ( ! $post_count ) {
continue;
}
?>
<div class="contributor">
<div class="contributor-info">
<div class="contributor-avatar"><?php echo get_avatar( $contributor_id, 132 ); ?></div>
<div class="contributor-summary">
<h2 class="contributor-name"><?php echo get_the_author_meta( \'display_name\', $contributor_id ); ?></h2>
<p class="contributor-bio">
<?php echo get_the_author_meta( \'description\', $contributor_id ); ?>
</p>
<a class="button contributor-posts-link" href="<?php echo esc_url( get_author_posts_url( $contributor_id ) ); ?>">
<?php printf( _n( \'%d Article\', \'%d Articles\', $post_count, \'twentyfourteen\' ), $post_count ); ?>
</a>
</div><!-- .contributor-summary -->
</div><!-- .contributor-info -->
</div><!-- .contributor -->
<?php
endforeach;
?>
我已经查过抄本了
count_user_posts( )
但我无法理解代码是如何与作为foreach循环输出的文档保持一致的
$contributor_id
不仅仅是
ID
而且
post_count
,
desc
和
authors
.
这些应该是第二个参数,是可选的
单个帖子类型或帖子类型数组
正如法典规定的:
$post\\U类型(数组|字符串)(可选)Single post type or array of
post types来计算发布的数量。默认值:“post”
那么“post\\u count”、“desc”和“authors”的值如何呢。是否符合Codex文档?
同样的问题:
get_avatar( $contributor_id, 132 )
以及
get_the_author_meta( \'display_name\', $contributor_id )
最合适的回答,由SO网友:Tom J Nowell 整理而成
这些参数是可选的,正如codex所述:
$post\\U类型
(string) (optional) Post type to count the number of posts for.
Default: "post"
所以它是可选的,不是必需的。如果未传入,则默认值为
"post"
.
可选参数是PHP的一部分,例如。
function print_number( $number=5 ) {
echo $number;
}
print_number( 2 ); // prints 2
print_number(); // prints 5
请注意,这并不意味着所有参数都是可选的。检查文档中您使用的函数的参数,看看它是否是可选的,以及它的默认值是什么