我想显示我网站的所有成员。
据我了解WooCommerce Membership插件,会员存储为自定义帖子类型(https://docs.woocommerce.com/document/woocommerce-memberships-data-structure/#section-4),我可以使用get_posts()
获取。
我尝试使用以下代码执行此操作:
<ul class="my-5">
<?php
global $post;
$args = array( 'post_type' => 'wc_user_membership' );
$posts = get_posts( $args );
foreach ( $posts as $post ) :
setup_postdata( $post ); ?>
<li><?php echo $post->ID; ?></li>
<?php endforeach; wp_reset_postdata(); ?>
</ul>
不幸的是没有任何结果。 我的代码有什么问题吗?
答案 0 :(得分:1)
<强>更新强>
尝试添加$args
数组'numberposts' => -1
和'post_status' => 'wcm-active'
,以便您的代码为:
<ul class="my-5">
<?php
$posts = get_posts( array(
'post_type' => 'wc_user_membership',
'post_status' => 'wcm-active',
'numberposts' => -1,
) );
foreach ( $posts as $post ) :
setup_postdata( $post ); ?>
<li><?php echo $post->ID; ?></li>
<?php endforeach; wp_reset_postdata(); ?>
</ul>
在global $post;
循环中使用$post
时,您不需要foreach
。
经过测试和工作。