更改占位符文本输入表单

Change placeholder text input form

我正在尝试更改搜索表单输入的占位符文本。

    <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Waar ben je naar op zoek?', 'placeholder', 'fancy-lab' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />

字符串 'Waar ben je naar op zoek?' 需要在用户登录时更改为更个性化的内容。我们已经将这些更改添加到网站的其他部分,并且我将此代码用于其他部分:

<?php global $current_user; wp_get_current_user(); ?>
    <?php if ( is_user_logged_in() ) { 
        echo $current_user->user_login; 
    }
    ?>

当我添加这个时我遇到了多个错误,第一个是由于全局部分。因此,将代码更改为:

<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( global $current_user; wp_get_current_user();
                                if ( is_user_logged_in() ) { 
                                    echo $current_user->user_login; 
                                }
                                , 'placeholder', 'fancy-lab' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />

我收到错误:语法错误,意外 'global' (T_GLOBAL)

谁能帮帮我?尝试正确理解语法!

在您 functions.php 中创建 1 个方法,它将 return 记录用户用户名或字符串并在占位符中使用它:

function searchFormPlaceholder(){
    if (is_user_logged_in()) {
        $current_user = wp_get_current_user();
        echo $current_user->display_name;
    } else {
        echo 'Not logged';
    }
}

然后在占位符标记内调用函数:

<input type="search" class="search-field" placeholder="<?php searchFormPlaceholder(); ?>" value="<?php echo get_search_query(); ?>" name="s" />