如何在循环中仅向特定用户角色显示自定义字段?

时间:2016-05-11 作者:user1982485

我在循环中插入了以下代码(在single.php中):

<span style="font-size:16px">
<strong>Currently reading:</strong> <?php the_field(\'book_name\'); ?> (<?php the_field(\'book_year\'); ?>)<br/>
<strong>Currently seeing:</strong> <?php the_field(\'movie_name\'); ?>"><br/>
</span>
无论如何,这只是一个例子。它在个人帖子中成功展示。

如何限制仅当用户以特定角色登录时才显示该信息?(作者、编辑和管理员)。

提前谢谢。

1 个回复
最合适的回答,由SO网友:dan9vu 整理而成

您可以使用current_user_can()is_user_logged_in() 要验证当前用户,请执行以下操作:

<?php if ( is_user_logged_in() && current_user_can(\'role\') ) : ?>
    <span style="font-size:16px">
    <strong>Currently reading:</strong> <?php the_field(\'book_name\'); ?> (<?php the_field(\'book_year\'); ?>)<br/>
    <strong>Currently seeing:</strong> <?php the_field(\'movie_name\'); ?>"><br/>
    </span>
<?php endif; ?>
确保更改role 根据您的喜好Codex 了解更多信息。

相关推荐

当in_the_loop()为假时,何时以及为什么is_Single(‘my_cpt’)为真?

我正在使用模板系统的示例代码。此地址的页码:http://project.test/my_cpt/hello-post/.无法理解原因is_singular( \'my_cpt\' ) 是true 虽然in_the_loop() 是false.在页面模板中The Loop "E;“工程”:if ( have_posts() ) { while ( have_posts() ) { the_post(); ?>