3

我正在用 PHP 开发一个自定义插件,因此现有插件不可用。我想要实现的是我想在帖子中为某些用户显示不同的 url。对于在 wordpress 中注册、联系我并获得“批准”的用户。我想设置这个额外的用户配置文件字段,以便我可以在条件中使用此字段。因此,没有此字段或此字段中没有正确值的客人和用户将获得 url1,而其他人将获得 url2。

要求

  • 只有具有管理员角色的用户
  • 可以创建/编辑额外的用户个人资料字段
  • 对于所有其他用户

我知道如何在 Wordpress 中添加额外的用户个人资料字段(请参阅下面的链接),但我不知道如何将编辑该字段限制为给定角色的用户,以及具有管理员角色的用户如何创建/编辑该字段所有用户。在我看来,我必须在 wordpress 仪表板/用户/新用户和/或仪表板/用户/作者和用户下添加新代码。

我做了一些谷歌搜索,发现很少有关于如何添加额外用户个人资料字段的网站

在我看来,添加和使用自定义用户配置文件字段几乎是我想要做的,但我仍然不知道如何管理“只有管理员”才能做到这一点。

4

1 回答 1

3

这个怎么样:

$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
    //code here
}

请参阅有关wordpress 用户功能的此链接

因此,对于上述内容以及您提供的链接,可能是这样的:

function my_show_extra_profile_fields( $user ) {
    if ($user->wp_capabilities['administrator']!=1) {
        return false;
    } ?>
    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }
于 2010-01-21T17:24:04.717 回答