基于WordPress用户角色的ECHO选项值

时间:2018-01-08 作者:Kevin W.

如果有人能解决这个问题,老兄,你会让我失望的!

基本上,我想做的是根据Wordpress上的用户角色在选项中回显不同的值。

如果用户是管理员[email protected]如果用户是订阅者,则回显[email protected]

以下是我正在使用的代码:

if ( ! empty( $note_emails ) || $include_custom ) { ?>
    <div class="gv-note-email-container">
        <label for="gv-note-email-to-<?php echo $entry_slug_esc; ?>" class="screen-reader-text"><?php echo $strings[\'also-email\'];  ?></label>
        <select class="gv-note-email-to" name="gv-note-to" id="gv-note-email-to-<?php echo $entry_slug_esc; ?>">
            <?php foreach ( $note_emails as  $email ) {
                ?>
                <option value="[email protected]">[email protected]</option>
            <?php }
            if( $include_custom ) { ?>
            <option value="custom"><?php echo self::strings(\'other-email\'); ?></option>
            <?php } ?>
        </select>
        <fieldset class="gv-note-to-container">
            <?php if( $include_custom ) { ?>
            <div class=\'gv-note-to-custom-container\'>
                <label for="gv-note-email-to-custom-<?php echo $entry_slug_esc; ?>"><?php echo $strings[\'email-label\']; ?></label>
                <input type="text" name="gv-note-to-custom" placeholder="<?php echo $strings[\'email-placeholder\']; ?>" id="gv-note-to-custom-<?php echo $entry_slug_esc; ?>" value="" />
            </div>
            <?php } ?>
            <div class=\'gv-note-subject-container\'>
                <label for="gv-note-subject-<?php echo $entry_slug_esc; ?>"><?php echo $strings[\'subject-label\']; ?></label>
                <input type="text" name="gv-note-subject" placeholder="<?php echo $strings[\'subject\']; ?>" id="gv-note-subject-<?php echo $entry_slug_esc; ?>" value="" />
            </div>
        </fieldset>
    </div>
<?php }

1 个回复
SO网友:Carlos Faria

像这样的?

  if(current_user_can(\'administrator\')){
    echo \'<option value="[email protected]">[email protected]</option>\';
  }elseif(current_user_can(\'subscriber\')){
    echo \'<option value="[email protected]">[email protected]</option>\';
  }
也许这应该包装在用户登录检查中,如下所示:

if(is_user_logged_in()){
  if(current_user_can(\'administrator\')){
    echo \'<option value="[email protected]">[email protected]</option>\';
  }elseif(current_user_can(\'subscriber\')){
    echo \'<option value="[email protected]">[email protected]</option>\';
  }
}

结束

相关推荐

使用子主题函数.php更改父主题上的Customizer.php

我正在尝试为定制程序添加第二个徽标选项。php的父主题使用函数。来自子主题的php。但是,我得到一个500内部服务器错误。我做错了什么?这是自定义程序的代码。php文件位于父主题的“extend”文件夹中。function j007_customize_register( $wp_customize ) { /* Logo */ $wp_customize->add_setting( \'logo\', array( \'type\' => \'theme